TeamCity 로드맵 확인을 통해 새로운 기능이 릴리즈될 때 마다 기능을 확인하고 필요한 기능을 채택해야한다.
현재 build server에서는 바로 deploy하지 않고 deploy 가능한 test server로 파일만 전송 가능하다.
test server에서 shell script 통해서 주기적으로 deploy할 수 있도록 설정하는 방법이 있다.
개인적인 생각으로 docker 사용을 한다면 어떨지?
빌드되고 이미지가 새로 올라오면 배포할 수 있도록?
=> 좀 더 리서치 필요
Statistics 탭에서 차트를 통해 통계 확인 가능하다. 단위는 시간, size 등 여러가지로 설정이 가능하다.
차트를 통해 빌드 성공율, 평균치에서 벗어난 build 확인 (빌드가 오래 걸리는 프로젝트) 및 해당 버전 분석 가능할 것으로 확인된다.
추가적으로 현재 maven test
를 진행하지 않지만 단위테스트 코드를 작성해 test
가 필수로 진행되어야 하는 경우 test 코드 성공률까지 확인할 수 있어 코드 품질이 전체적으로 올라가는 효과를 얻을 수 있다.
SonarQube와 같은 정적 코드 분석 툴을 연결하지 않아도 TeamCity Build Steps에 Qodana 를 추가해서 정적 코드 분석 가능하다.
코드 품질 검사를 통해 중복, 버그, 문제 탐지 등 일반적인 작업을 할 수 있다. 모든 팀원이 동일한 코드 품질 검사를 받을 수 있어 일관성 있는 코드를 작성할 수 있다.
팀 내에서 Actual Problems: Critical은 없게해야지만 commit을 수행
과 같은 규칙을 통해 코드 품질을 유지시킬 수 있다.
TeamCity의 2022.04 버전 배포 워크플로 개선으로 팀원들에게 빌드 승인을 받아야지만 빌드를할 수 있도록 권한 설정을 할 수 있다 한다. 추후 배포 절차 제어가 필요할 때 해당 권한 설정을 사용하면 된다.
TeamCity 기본적인 권한은 관리자와 사용자이다.
참고
사용자가 가입 가능하게 하려면 Administration > Authentication > Credentials authentication modules > Built-in (Edit) >Allow user registration from the login page
체크박스 체크
TeamCity는 기본적인 권한이 아닌 추가적으로 Role을 생성할 수 있다. Administration > Authentication > General Settings > Per-project permissions 체크 시 User Management에 Roles 메뉴가 추가된다.
해당 탭에서 각 Role에 대해서 권한을 설정 및 새로운 Role을 추가할 수 있으며 기본적으로 TeamCity에서 제공하는 Role은 다음과 같다.
관리자는 그룹과 사용자에 대해 프로젝트별로 Role을 지정할 수 있다.
sbkim
이라는 사용자에게 Project는 Agent manager
role을, project_1은 Project viewer
role을 부여하면 아래와 같이 설정된다.
Build Configuration > Build Features에서 Build approval
설정 시 권한이 없는 사용자가 build 시 관리자의 승인을 받아야지만 build 가능하게 설정 할 수 있다.
알림은 메일, 브라우저, IDE, 슬랙으로 가능하며 메일 전송에 대해서는 아래와 같다.
Administration > Email Notifier > 사용자들에게 메일을 보낼 계정을 설정한다. (현재 gmail로 설정)
sbkim
이라는 사용자 선택 후 알림 받길 원하는 프로젝트, 활동을 선택하면 관리자에게 메일이 전송된다.
아래처럼 메일이 온다.