TeamCity Platform

구글 클라우드에서 팀시티 CI빌더 실행

teamcity-google-cloud

TeamCity 가 구글 클라우드 서비스에 완벽히 통합된다는 기쁜 소식을 알려 드립니다. Google Cloud Agents 플러그인을 사용하면 Google Compute Engine 을 사용하여 필요한 경우 크라우드 인스턴트를 시작하여 cloud build agents 풀을 확장할 수 있습니다.  또한 효율적인 비용의 preemptible virtual machines 사용을 지원합니다. Google Artifact Storage 플러그인은  external build artifacts 유지를 위하여 구글 클라우드 스토리지 사용 권한을 제공하고 있습니다.

설치

구글 클라우드에 팀시티를 통합하려면, Google Cloud Agents 와 Google Artifact Storage 를 플러그인 갤러리에서 다운로드 한 다음, additional TeamCity plugins 에서 둘 다 설치해야 합니다. 이 때 팀시티 서버 재시작해야 합니다.

구글 클라우드 에이전트 구성

구글 클라우드 이미지 준비

이제 새로운 클라우드 빌드 에이전트를 시작하기 위해 클라우드 이미지를 만들어야 합니다. 이를 위해, 사용 가능한  public boot disks 으로부터 새로운 클라우드 인스턴스를 생성하고,   “Management, disk, networking, SSH keys” 섹션에 있는 “Delete boot disk when instance is deleted” 항목 선택을 취소합니다. 그런 다음,  클라우드 인스턴스를 시작한 후, 선택한 이미지에 따른 SSH 또는 RDP 를 통해 연결하고, TeamCity build agent 를 설치합니다. 플러그인을 업데이트하고 자동으로 시작하기 위해서는 에이전트 설정에서 TeamCity 서버에 빌드 에이전트를 가리키도록 해야 합니다.

Create Google Cloud Instance

 

 

그 다음 요구되는 필드 도구를 설치하고, 임시 파일 제거(remove temporary files), 클라우드 인스턴스 제거한 다음, 클라우드 인스턴스 부트 디스크에서 new custom image 를 생성합니다.

Create Custom Google Image

서비스 계정 및 키 만들기

이제 Compute Engine Instance Admin 역할 설정에서 new service account 와 해당 계정에 대한 새로운 JSON private key 를 생성해야 합니다.

google-cloud-credentials

구글 에이전트 프로필 생성

Google agent cloud profile 을 생성하기 위하여, 프로필을 설정할 프로젝트로 이동한 다음, 클라우드 프로필 링크를 선택합니다. 그런 다음 “Create new profile” 버튼을 클릭하고, 클라우드 타입으로 “Google Compute” 를 선택합니다. 프로필 네임과 해당 필드에 있는 JSON 프라이비트 키 값을 설정합니다.

프로필에 새로운 이미지를 추가하기 위해, “Add image” 버튼을 추가하고, 최근에 생성한 클라우드 이미지를 선택한 다음, 다른 속성들을 작성합니다. 다음으로 이미지와 프로필 설정을 저장합니다. 이게 전부입니다.

teamcity-google-profile

구글 아티팩트 저장소 구성

서비스 계정 및 키 만들기

구글 클라우드 스토리지에 엑세스하려면, 플러그인에서 구글 엔진 인스턴스 어드민 권한이 있는 서비스 계정과 계정에 대한 새로운 JSON 프라이비트 키를 필요로 합니다.

teamcity-google-profile

아티팩트 저장소 구성

아티팩트 저장소 프로젝트 탭으로 이동하여 새로운 스토리지 추가 버튼을 클릭합니다. 구글 저장소 타입을 선택하고, 이름, JSON 프라이비트 키, 버킷 이름을 입력하고 저장을 누릅니다. 그런 다음, Active 링크를 클릭하여 팀시티에 있는 아티팩트 저장소를 활성화합니다.

teamcity-google-profile

 

이것이 전부입니다. 프로젝트에 있는 새로운 빌드는 구글 클라우드 저장소에 아티팩트들을 저장할 것입니다.

 

피드백

팀시티의 플러그인 사용 시도를 환영합니다. 여러분들의 피드백을 진심으로 감사하게 생각하고 있습니다. issue tracker 를 통해 이 블로그 게시물에 대한 의견 공유를 부탁 드립니다.

 

image description

Discover more