NEXT

sooni·2023년 3월 20일
0

CI/CD

목록 보기
5/5

#0. 새로운 기능 사용

TeamCity 로드맵 확인을 통해 새로운 기능이 릴리즈될 때 마다 기능을 확인하고 필요한 기능을 채택해야한다.

#1. CD 전략

현재 build server에서는 바로 deploy하지 않고 deploy 가능한 test server로 파일만 전송 가능하다.

test server에서 shell script 통해서 주기적으로 deploy할 수 있도록 설정하는 방법이 있다.

개인적인 생각으로 docker 사용을 한다면 어떨지?
빌드되고 이미지가 새로 올라오면 배포할 수 있도록?
=> 좀 더 리서치 필요

#2. Statistics

Statistics 탭에서 차트를 통해 통계 확인 가능하다. 단위는 시간, size 등 여러가지로 설정이 가능하다.

차트를 통해 빌드 성공율, 평균치에서 벗어난 build 확인 (빌드가 오래 걸리는 프로젝트) 및 해당 버전 분석 가능할 것으로 확인된다.

추가적으로 현재 maven test 를 진행하지 않지만 단위테스트 코드를 작성해 test가 필수로 진행되어야 하는 경우 test 코드 성공률까지 확인할 수 있어 코드 품질이 전체적으로 올라가는 효과를 얻을 수 있다.

#3. 정적 코드 분석

SonarQube와 같은 정적 코드 분석 툴을 연결하지 않아도 TeamCity Build Steps에 Qodana 를 추가해서 정적 코드 분석 가능하다.

코드 품질 검사를 통해 중복, 버그, 문제 탐지 등 일반적인 작업을 할 수 있다. 모든 팀원이 동일한 코드 품질 검사를 받을 수 있어 일관성 있는 코드를 작성할 수 있다.

팀 내에서 Actual Problems: Critical은 없게해야지만 commit을 수행과 같은 규칙을 통해 코드 품질을 유지시킬 수 있다.

#4. 권한 설정

TeamCity의 2022.04 버전 배포 워크플로 개선으로 팀원들에게 빌드 승인을 받아야지만 빌드를할 수 있도록 권한 설정을 할 수 있다 한다. 추후 배포 절차 제어가 필요할 때 해당 권한 설정을 사용하면 된다.

TeamCity 기본적인 권한은 관리자와 사용자이다.

  • 관리자 (Administrator): 전체 관리자 (사용자에게 관리자 권한을 부여하는 경우 관리자)
  • 사용자 (User): 일반 사용자

참고
사용자가 가입 가능하게 하려면 Administration > Authentication > Credentials authentication modules > Built-in (Edit) > Allow user registration from the login page 체크박스 체크

Role

TeamCity는 기본적인 권한이 아닌 추가적으로 Role을 생성할 수 있다. Administration > Authentication > General Settings > Per-project permissions 체크 시 User Management에 Roles 메뉴가 추가된다.

해당 탭에서 각 Role에 대해서 권한을 설정 및 새로운 Role을 추가할 수 있으며 기본적으로 TeamCity에서 제공하는 Role은 다음과 같다.

  • System administrator
  • Agent manager
  • Project administrator
  • Project developer
  • Project viewer
  • Tools integration (browser)

관리자는 그룹과 사용자에 대해 프로젝트별로 Role을 지정할 수 있다.

sbkim이라는 사용자에게 Project는 Agent manager role을, project_1은 Project viewer role을 부여하면 아래와 같이 설정된다.

Build Features

Build Configuration > Build Features에서 Build approval 설정 시 권한이 없는 사용자가 build 시 관리자의 승인을 받아야지만 build 가능하게 설정 할 수 있다.

#5. 알림 설정

알림은 메일, 브라우저, IDE, 슬랙으로 가능하며 메일 전송에 대해서는 아래와 같다.

Administration > Email Notifier > 사용자들에게 메일을 보낼 계정을 설정한다. (현재 gmail로 설정)

sbkim이라는 사용자 선택 후 알림 받길 원하는 프로젝트, 활동을 선택하면 관리자에게 메일이 전송된다.

아래처럼 메일이 온다.

0개의 댓글