I would like to view this page in
프로젝트에서 빌드하는 동안 때로 다른 컴퓨터를 연결해야 할 수 있습니다. SSH를 통해 원격 시스템에서 배포 스크립트를 트리거하는 경우를 예로 들 수 있습니다.
그 방법을 알아보겠습니다.
SSH(Secure Shell)는 보안, 다양성 및 효율성의 장점을 내세워 다양한 목적으로 널리 사용됩니다. SSH를 사용해야 하는 몇 가지 이유가 있습니다.
Edit configuration(구성 편집) | Build Steps(빌드 단계)로 이동하여 빌드 단계를 간단히 살펴보세요.
배포를 실행하는 명령줄 빌드 단계를 추가한다고 생각해 보겠습니다. 이를 위해 TeamCity는 SSH를 통해 원격 서버에 연결하고 해당 서버에서 몇 가지 명령어를 실행합니다. Amazon S3에서 파일을 다운로드하고 실행하는 예를 들 수 있습니다. SSH 연결이 작동하려면 SSH 키를 지정해야 합니다.
여기서 의문이 생깁니다. SSH 키가 에이전트 이미지에 미리 구워지지 않았다면 빌드 에이전트에 어떻게 전달될까요?
우리가 원하는 것은 명령줄 빌드 단계를 없애는 것입니다. 이를 위해 Runner type(러너 타입) 드롭다운 메뉴를 클릭합니다. 여기에서 SSH Exec 및 SSH Upload(SSH 업로드)의 두 가지 옵션을 확인할 수 있습니다.
SSH Exec은 원격 시스템에서 무언가를 실행하려는 경우에 편리합니다. SSH Upload(SSH 업로드)는 파일을 서버에 안전하게 업로드하는 도움을 줍니다.
SSH Exec 옵션을 선택하고 러너에 대한 대상과 명령어를 추가해 보겠습니다.
여기 Authentication method(인증 방법)에서 SSH 키의 출처를 선택할 수 있는 몇 가지 선택 사항이 있습니다.
Uploaded key(업로드된 키): 키가 TeamCity 서버에 업로드됩니다. 서버는 이를 암호화하여 빌드 에이전트로 보내 빌드하도록 하고, 빌드가 완료되면 삭제합니다.
Default private key(기본 비공개 키) 및 Custom private key(사용자 지정 비공개 키): 빌드 에이전트의 특정 위치에 기본 비공개 키가 사전 설치된 경우 이 옵션을 선택합니다.
사용자 이름-비밀번호 조합을 선택하거나 SSH 에이전트를 실행할 수도 있습니다. 관련 문서에서 SSH Exec에 대해 자세히 알아보세요.
이 튜토리얼에서는 Uploaded key(업로드된 키) 옵션을 사용하겠습니다. 사용자 이름을 teamcity-deploy로 설정하고 비밀구절 설정을 건너뜁니다. 그런 다음 계속해서 SSH 키를 업로드합니다.
SSH 키를 업로드하기 위해 Buildpipelines project(Buildpipelines 프로젝트) | SSH Keys(SSH 키)로 이동하겠습니다. 그런 다음 서버의 비공개 키를 선택합니다. Upload SSH Key(SSH 키 업로드)를 클릭하고 컴퓨터에서 파일을 선택합니다.
그런 다음 Build steps(빌드 단계) | SSH Exec로 돌아가 방금 업로드한 비공개 키를 선택합니다. 이제 Save(저장)를 누르고 빌드를 실행합니다.
빌드 실행이 완료되고 Build Log(빌드 로그)를 열면 SSH Exec 빌드 단계의 출력이 표시됩니다. 여기에서 TeamCity가 빌드 단계 구성에 입력된 명령어를 실행한 것을 볼 수 있습니다. 여기에 echo ‘running deploy.sh...’
명령어의 결과도 표시됩니다.
이제 작업을 마쳤습니다!
이 튜토리얼에서는 TeamCity를 사용하여 빌드 파이프라인에 필수적 기반인 명령줄 스크립트를 실행하는 방법을 보여줍니다.
이 튜토리얼에서는 빌드에서 데이터를 가져오기 위해 TeamCity에서 아티팩트로 작업하는 방법을 자세히 살펴보겠습니다.
TeamCity는 빌드를 강화하는 많은 기능을 포함하고 있습니다. 이 튜토리얼에서는 특정 러너를 사용하는 방법과 어떠한 경우에 이러한 러너를 사용해야 하는지 살펴봅니다.