
Teamcity - "이제부터 배포요정은 접니다 ✋"
두줄요약
Jenkins의 플러그인·Docker 실행 문제를 해결하기 위해 TeamCity 기반 빌드 프로세스를 구성했습니다. Docker로 Server·Agent를 배치하고 Kotlin Script로 CI/CD를 맞춤화했습니다.
문제 상황
- 백엔드·프론트엔드 분리와 Docker 도입에 따른 CI/CD 재구성 필요
- Jenkins 플러그인 설치·제거 때 재시작 필요 및 온프레미스 방화벽 제약
- Docker 컨테이너 작업 중 Job 종료 지연·프리징 현상
선택 이유
- Kotlin Script 기반 CI/CD 구성 커스터마이징
- Docker 연동이 쉬운 컨테이너 친화적 환경
- 기존 시스템에 영향 없이 MSA 서비스별 독립 구성 목적
구조와 흐름
- Docker network 위에 TeamCity Server와 Agent 컨테이너 배치
- Server 역할 인스턴스와 별도 Agent 인스턴스에 Agent 실행
- Agent 승인 후 Build Step 순서·조건 설정과 Kotlin Script 연동 구성
장단점
- 플러그인 설치 없이 컨테이너 서비스 활용 및 Build Step 정의·정렬 지원
- Jenkins 대비 부족한 라이브러리·레퍼런스는 Confluence 문서화로 보완


