TeamCity 시작하기

sooni·2023년 3월 20일
0

CI/CD

목록 보기
3/5

TeamCity 구조

  • Agents: TeamCity server 설치 시 기본으로 Build Agent가 설치되며 최대 3개까지 무료로 사용 가능
  • Project: 여러개의 build configuration 설정 가능
  • Builds: 빌드

아래 그림처럼 빌드서버에 TeamCity 설치 시 TeamCity Server와 Build Agent가 설치된다. 현재 연구소에서도 하나의 빌드서버에 TeamCity Server, Build Agent를 각 하나씩 구성한다.

TeamCity로 Build하기

설치 시 생성한 관리자 계정으로 접속한다. Project 생성, VCS Roots 설정, build configuration 생성, build run을 차례대로 수행한다.

1. Project 생성

Manually project생성 (From a repository URL > SVN으로 연결하는 경우 오류 발생)

2. VCS Roots 설정

현재 사용하는 SVN으로 연결한다. (SVN Connection Settings > URL, Username, Password 작성)
Minimum polling interval60 seconds가 default 값으로, 팀 내에서 svn 업데이트 주기를 논의 후 설정한다.

svn 연결이 제대로 안되는 경우
show advanced options 선택 후
HTTPS connections: Accept non-trusted SSL certificates 체크박스를 체크한다.

3. Build Configuration 생성

VCS 설정, Build step 설정과 같이 build 환경을 생성한다.

[Build configuration 생성]
Project와 동일하게 Manually하게 생성한다.

[VCS 설정]
2. VCS Roots 설정 와 동일한 방법으로 vcs를 새로 생성하거나 2.에서 생성된 VCS를 선택해서 연결한다. VCS 연결 시 아래와 같이 연결을 확인할 수 있다.

[Build Step 설정]
실제 build될 step을 설정한다. 사용자가 수동으로 Add Build Step으로 build step을 추가할 수 있으며 Auto-detect build steps 로 자동으로 build에 필요한 step을 파악해 리스트를 보여주며 선택할 수 있다.

Build Configuration Template

위에서 설정한 Build Configuration을 template화해서 추후에 비슷한 build configuration을 생성할 때 편리하다.

예를 들어 build 전략을 아래와 같이 짠다 가정한다면,

  • build
  • build and deploy (for qa server)
  • build and deploy (for rnd test server)

build and deploy (for qa server) template의 build step에는 qa server에 맞는 ssh upload 설정이 추가되고, build and deploy (for rnd test server) template의 build step에는 rnd test server에 맞는 ssh upload를 설정할 수 있다.

4. Build Run

Run 실행 시 설정한 build step대로 build가 수행된다.

참고
build는 한 Agent 당 하나만 수행되며, 여러 프로젝트를 build run 하게되면 queue에 담기고 순차적으로 build를 수행한다.

build 실패하는 경우 log를 볼 수 있다.

Administration

설치 시 생성한 관리자 계정으로 접속 후 Administration 선택한다.

전체 Project, builds, disk 사용량, history 조회 및 사용자 관리를 할 수 있다.

  • Project-related Settings
    • Projects
    • All Builds
    • Disk Usage
    • Audit: history 조회
  • User Management

0개의 댓글