기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
자습서: Git 태그를 사용하여 파이프라인 시작하기
이 자습서에서는 Git 태그 트리거 유형에 대해 소스 작업이 구성된 GitHub 리포지토리에 연결하는 파이프라인을 생성합니다. 커밋에서 Git 태그가 생성되면 파이프라인이 시작됩니다. 이 예제에서는 태그 이름의 구문을 기반으로 태그를 필터링할 수 있는 파이프라인을 만드는 방법을 보여줍니다. Glog 패턴을 사용한 필터링에 대한 자세한 내용은 구문에서 glob 패턴 작업을 참조하세요.
이 자습서는 CodeStarSourceConnection
작업 유형을 GitHub 통해 설명합니다.
참고
이 기능은 아시아 태평양(홍콩), 아프리카(케이프타운), 중동(바레인) 또는 유럽(취리히) 리전에서는 사용할 수 없습니다. 사용 가능한 다른 작업을 참조하려면 제품 및 서비스 통합 CodePipeline을 참조하세요. 유럽(밀라노) 리전에서 이 조치를 고려할 경우 CodeStarSourceConnection 비트버킷 클라우드 GitHub, GitHub 엔터프라이즈 서버, GitLab .com 및 GitLab 자체 관리 작업용의 참고 사항을 참조하세요.
주제
필수 조건
시작하기 전에 다음을 수행해야 합니다.
-
계정으로 GitHub 리포지토리를 만드세요. GitHub
-
GitHub 자격 증명을 준비하세요. 를 AWS Management Console 사용하여 연결을 설정하면 GitHub 자격 증명으로 로그인하라는 메시지가 표시됩니다.
1단계: 리포지토리를 CloudShell 열고 복제합니다.
명령줄 인터페이스를 사용하여 리포지토리를 복제하고, 커밋하고, 태그를 추가할 수 있습니다. 이 자습서에서는 명령줄 인터페이스용 CloudShell 인스턴스를 시작합니다.
-
AWS Management Console에 로그인합니다.
-
상단 내비게이션 바에서 AWS 아이콘을 선택합니다. AWS Management Console 디스플레이의 기본 페이지입니다.
-
상단 내비게이션 바에서 AWS CloudShell 아이콘을 선택합니다. CloudShell 열립니다. CloudShell 환경이 만들어지는 동안 기다려 주세요.
참고
CloudShell 아이콘이 보이지 않는 경우 에서 지원하는 지역에 있는지 확인하세요 CloudShell. 이 자습서에서는 사용자가 미국 서부(오레곤) 리전에 있다고 가정합니다.
-
GitHub에서 저장소로 이동합니다. 코드를 선택한 다음 HTTPS를 선택합니다. 경로를 복사합니다. Git 리포지토리를 복제할 주소는 클립보드에 복사됩니다.
-
다음 명령을 실행하여 리포지토리를 복제합니다.
git clone https://github.com/<account>/MyGitHubRepo.git
-
GitHub 계정을
Username
입력하고 메시지가Password
표시되면 입력합니다.Password
항목의 경우 계정 암호 대신 사용자가 만든 토큰을 사용해야 합니다.
2단계: Git 태그에 트리거할 파이프라인 생성
이 단원에서는 다음 작업을 통해 파이프라인을 생성합니다.
-
GitHub 리포지토리 및 작업에 연결된 소스 스테이지.
-
빌드 작업이 포함된 AWS CodeBuild 빌드 단계.
마법사를 사용하여 파이프라인을 생성하려면
-
https://console.aws.amazon.com/codepipeline/
에서 CodePipeline 콘솔에 로그인합니다. -
Welcome(시작) 페이지, 시작하기 페이지 또는 Pipelines(파이프라인) 페이지에서 파이프라인 생성을 선택합니다.
-
1단계: 파이프라인 설정 선택의 파이프라인 이름에
MyGitHubTagsPipeline
을 입력합니다. -
파이프라인 유형에서는 기본 선택을 V2로 유지합니다. 파이프라인 유형은 특성과 가격이 다릅니다. 자세한 정보는 파이프라인 유형을 참조하세요.
-
Service role(서비스 역할)에서 New service role(새 서비스 역할)을 선택합니다.
참고
기존 CodePipeline 서비스 역할을 대신 사용하려면 서비스 역할 정책에
codestar-connections:UseConnection
IAM 권한을 추가했는지 확인하세요. 서비스 역할에 대한 지침은 CodePipeline 서비스 역할에 권한 추가를 참조하십시오. CodePipeline -
고급 설정에서 기본값을 그대로 둡니다. [아티팩트 스토어(Artifact store)]에서 [기본 위치(Default location)]를 선택하여 파이프라인에 대해 선택한 리전의 파이프라인에 대해 기본값으로 지정된 Amazon S3 아티팩트 버킷과 같은 기본 아티팩트 스토어를 사용합니다.
참고
이는 소스 코드에 대한 소스 버킷이 아닙니다. 이 파이프라인은 아티팩트 스토어입니다. S3 버킷과 같은 개별 아티팩트 스토어는 각 파이프라인에 필요합니다.
다음을 선택합니다.
-
[2단계: 소스 단계 추가(Step 2: Add source stage)] 페이지에서 소스 단계를 추가합니다.
-
소스 공급자에서 GitHub (버전 2) 를 선택합니다.
-
연결에서 기존 연결을 선택하거나 새로 생성합니다. GitHub 소스 액션에 대한 연결을 만들거나 관리하려면 을 참조하십시오GitHub 연결.
-
리포지토리 이름에서 GitHub 리포지토리 이름을 선택합니다.
-
파이프라인 트리거에서 Git 태그를 선택합니다.
포함 필드에
release*
를 입력합니다.기본 브랜치에서 파이프라인을 수동으로 시작하거나 Git 태그가 아닌 소스 이벤트로 시작할 때 지정할 브랜치를 선택합니다. 변경 소스가 트리거가 아니거나 파이프라인 실행이 수동으로 시작된 경우 기본 브랜치의 HEAD 커밋이 사용됩니다.
중요
트리거 유형의 Git 태그로 시작하는 파이프라인은 WebhookV2 이벤트용으로 구성되며 파이프라인을 시작하는 데 Webhook 이벤트(모든 푸시 이벤트에 대한 변경 감지)를 사용하지 않습니다.
다음을 선택합니다.
-
-
Add build stage(빌드 스테이지 추가)에서 빌드 스테이지를 추가합니다.
-
빌드 공급자에서 AWS CodeBuild를 선택합니다. 리전이 파이프라인 리전으로 기본 설정되도록 합니다.
-
프로젝트 만들기를 선택합니다.
-
프로젝트 이름에 이 빌드 프로젝트의 이름을 입력합니다.
-
환경 이미지에서 이미지 관리를 선택합니다. [Operating system]에서 [Ubuntu]를 선택합니다.
-
실행 시간에서 표준을 선택합니다. 이미지에서 aws/codebuild/standard:5.0을 선택합니다.
-
서비스 역할에서 New service role(새 서비스 역할)을 선택합니다.
참고
CodeBuild 서비스 역할의 이름을 기록해 둡니다. 이 자습서의 마지막 단계를 수행하려면 역할 이름이 필요합니다.
-
[Buildspec]의 [빌드 사양(Build specifications)]에서 [빌드 명령 삽입(Insert build commands)]을 선택합니다. 편집기로 전환을 선택하고 빌드 명령에 다음을 붙여 넣습니다.
version: 0.2 #env: #variables: # key: "value" # key: "value" #parameter-store: # key: "value" # key: "value" #git-credential-helper: yes phases: install: #If you use the Ubuntu standard image 2.0 or later, you must specify runtime-versions. #If you specify runtime-versions and use an image other than Ubuntu standard image 2.0, the build fails. runtime-versions: nodejs: 12 #commands: # - command # - command #pre_build: #commands: # - command # - command build: commands: - #post_build: #commands: # - command # - command artifacts: files: - '*' # - location name: $(date +%Y-%m-%d) #discard-paths: yes #base-directory: location #cache: #paths: # - paths
-
계속하기를 선택합니다 CodePipeline. 그러면 CodePipeline 콘솔로 돌아가고 구성을 위해 빌드 명령을 사용하는 CodeBuild 프로젝트가 만들어집니다. 빌드 프로젝트는 서비스 역할을 사용하여 AWS 서비스 권한을 관리합니다. 이 단계는 몇 분이 걸릴 수 있습니다.
-
다음을 선택합니다.
-
-
4단계: 배포 단계 추가 페이지에서 Skip deploy stage(배포 단계 건너뛰기)를 선택한 다음 Skip(건너뛰기)을 다시 선택하여 경고 메시지를 수락합니다. 다음을 선택합니다.
-
5단계: 검토 페이지에서 파이프라인 생성을 선택합니다.
3단계: 릴리스용 커밋에 태그 지정
파이프라인을 만들고 Git 태그를 지정한 후 리포지토리에서 커밋에 태그를 지정할 수 있습니다. GitHub 이 단계에서는 release-1
태그로 커밋에 태그를 지정합니다. Git 리포지토리의 각 커밋에는 고유한 Git 태그가 있어야 합니다. 커밋을 선택하고 태그를 지정하면 여러 브랜치의 변경 사항을 파이프라인 배포에 통합할 수 있습니다. 참고로 태그 이름 릴리스는 의 릴리스 개념에는 적용되지 않습니다. GitHub
-
태그를 지정할 복사한 커밋 ID를 참조하세요. 각 브랜치의 커밋을 보려면 CloudShell 터미널에서 다음 명령을 입력하여 태그하려는 커밋 ID를 캡처하십시오.
git log
-
CloudShell 터미널에서 커밋을 태그하고 오리진으로 푸시하는 명령을 입력합니다. 커밋에 태그를 지정한 후 git 푸시 명령을 사용하여 태그를 오리진에 푸시합니다. 다음 예제에서는 ID
49366bd
가 있는 두 번째 커밋에release-1
태그를 사용하려면 다음 명령을 입력합니다. 이 태그는 파이프라인release*
태그 필터에 의해 필터링되고 파이프라인을 시작합니다.git tag release-1 49366bd
git push origin release-1
4단계: 변경 사항 릴리스 및 로그 보기
-
파이프라인이 성공적으로 실행되면 성공적으로 완료된 빌드 단계에서 로그 보기를 선택합니다.
로그에서 CodeBuild 빌드 출력을 확인합니다. 명령은 입력된 변수의 값을 출력합니다.
-
기록 페이지에서 트리거 열을 확인합니다. 트리거 유형인 GitTag 릴리즈-1을 확인하세요.