명령줄 스크립트를 실행하는 방법

이 튜토리얼에서는 TeamCity를 사용하여 빌드 파이프라인에 필수적 기반인 명령줄 스크립트를 실행하는 방법을 보여줍니다.

데모용으로 GitHub 저장소를 만들었습니다.

github.com/marcobehlerjetbrains/buildpipelines. 자유롭게 살펴보고 지침을 따르세요.

이 저장소에는 Authorization-ServiceCalculator-Service의 두 가지 마이크로서비스가 있습니다. URL을 복사하고 TeamCity 서비스로 이동한 다음, 저장소 URL에서 새 프로젝트를 만들 수 있습니다. 이것은 공개 저장소이므로 비밀번호나 액세스 토큰을 입력할 필요가 없습니다.

tutorials-img

다음 단계에서 TeamCity는 저장소에 연결하고 여기에서 프로젝트를 생성합니다. 또한, 변경 사항이 있는지 확인하기 위해 60초마다 풀되며 빌드를 트리거하는 메인 브랜치도 표시됩니다.

와일드카드를 사용하여 모니터링할 다른 브랜치를 지정할 수도 있습니다.

tutorials-img

TeamCity에서 빌드 구성 설정

TeamCity에서 빌드 구성은 어려운 작업입니다. 프로젝트를 설정할 때 TeamCity는 저장소의 파일을 스캔하고 자동으로 빌드 단계를 탐지합니다.

tutorials-img

이 튜토리얼에서는 실행할 자체 명령줄 스크립트가 있으므로 자동 탐지된 빌드 단계로 진행하지는 않겠습니다. 그러나 TeamCity가 프로젝트의 소스 VCS 저장소를 스캔하고 Node.js, Kotlin, Python, Ant, NAnt, Gradle, Maven, MSBuild, Visual Studio 솔루션 파일, PowerShell, Xcode 프로젝트 파일, Rake 및 IntelliJ IDEA 프로젝트에서 적합한 빌드 단계를 자동으로 탐지할 수 있다는 점은 알아두시는 것이 좋습니다.

빌드 단계 구성

수동으로 빌드 단계 구성을 계속하려면 다음 링크를 클릭하세요.

tutorials-img

명령줄 스크립트를 실행하려고 하므로 드롭다운 메뉴에서 Command Line(명령줄)을 선택하겠습니다.

tutorials-img

다음 단계에서는 드롭다운 메뉴에서 Run Custom Script(사용자 지정 스크립트 실행) 옵션을 선택하고 빌드 스크립트를 해당 필드에 붙여 넣습니다. mvn clean package 명령어를 실행합니다. 다른 많은 도구와 마찬가지로 모든 빌드 에이전트에는 기본적으로 이 패키지가 설치되어 있습니다.

mvn clean package는 Java 소스를 컴파일하고, 일부 테스트를 실행하며, .jar 파일을 생성합니다.

배포 단계에서 AWS 명령줄 도구를 실행한 다음, 해당 .jar 파일을 비공개 S3 버킷에 복사합니다. 그런 다음 Save(저장)를 누르기만 하면 됩니다.

tutorials-img

Run(실행) 버튼을 누르기 전에 AWS S3 버킷에 대한 자격 증명(액세스 키 ID 및 액세스 키 암호)을 지정해야 합니다. 이를 수행할 수 있는 방법 중 하나는 TeamCity에서 Parameters(매개변수)를 사용하는 것입니다.

매개변수 추가

이를 위해 Parameters(매개변수) | Add New Parameter(새 매개변수 추가)를 클릭합니다. 지금은 하나의 환경 변수를 사용할 것입니다. AWS_ACCESS_KEY_ID의 이름을 입력합니다. 또한 새 매개변수의 종류(여기서는 Environment variable (env.))를 선택하고 실제 액세스 키 ID를 붙여 넣어야 합니다.

참고: 사용하고 있는 액세스 키는 데모용이므로 재사용할 수 없습니다.

tutorials-img

또한 매개변수를 편집하고 타입을 Password(비밀번호)로 설정하겠습니다. 즉, TeamCity는 UI뿐만 아니라 로그 메시지와 기타 모든 위치에서 매개변숫값을 숨깁니다.

tutorials-img

그러면 액세스 키 ID가 마스킹된 것으로 나타납니다.

tutorials-img

마찬가지로 다른 환경 변수인 비밀 액세스 키를 추가할 수 있습니다. 그런 다음 빌드를 실행할 수 있습니다.

이를 위해 Run(실행) 버튼을 클릭하면 개요 페이지로 리디렉션됩니다. 빌드를 실행하는 동안 TeamCity가 빌드 로그를 표시하여 진행 중인 상황을 상세히 알려줍니다.

tutorials-img

빌드 실행이 완료되면 TeamCity가 빌드가 트리거된 시기, 작업자, 실행에 소요된 시간, 사용된 빌드 에이전트와 같은 빌드 상태와 데이터를 표시합니다.

tutorials-img

명령줄 스크립트를 사용하고 있으므로 실질적인 출력은 빌드 로그뿐입니다. 특정 TeamCity 러너(예: Maven 러너)를 대신 사용하기로 결정한 경우 테스트 보고서, 커버리지 보고서 및 병렬 테스트와 같은 기타 많은 기능을 즉시 사용할 수 있습니다.

빌드 로그에 액세스

빌드 로그에 액세스하려면 빌드 결과 출력 페이지에서 Build Log(빌드 로그) 탭을 클릭합니다. TeamCity에서는 로그 읽기가 편리합니다! TeamCity에서는 전체 빌드 로그를 컴퓨터에 다운로드하여(여전히 가능) Notepad++로 여는 방법뿐 아니라 빌드 로그를 축소하고 Ctrl+F로 쉽게 검색할 수 있습니다.

tutorials-img

오늘 소개할 내용은 여기까지입니다! 다른 튜토리얼에서 테스트 보고서 또는 코드 커버리지 보고서와 같은 TeamCity 관련 기능의 사용 방법을 알아보세요.

즐겁게 빌드하세요!

자세한 내용은 TeamCity 명령줄 문서를 참조하세요.