AWS CodePipeline
GitLab v19.5Offering: GitLab.com
요약
AWS CodePipeline을 사용하면 GitLab 프로젝트에서 코드 변경 사항을 빌드하고 테스트하고 배포할 수 있습니다. GitLab.com의 프로젝트에 연결을 생성하려면 AWS Management Console 또는 AWS Command Line Interface(AWS CLI)를 사용할 수 있습니다.
AWS CodePipeline을 사용하면 GitLab 프로젝트에서 코드 변경 사항을 빌드하고 테스트하고 배포할 수 있습니다. 이때 다음을 사용합니다.
- GitLab.com 계정을 AWS에 연결하는 AWS CodeStar Connections.
- 코드 변경 사항을 기준으로 파이프라인을 자동으로 시작하는 해당 연결.
AWS CodePipeline에서 GitLab으로의 연결 생성#
사전 요구 사항:
- AWS CodePipeline과 연결하려는 GitLab 프로젝트에서 Owner 권한이 있어야 합니다.
- AWS에서 연결을 생성할 수 있는 적절한 권한이 있어야 합니다.
- 지원되는 AWS 리전을 사용해야 합니다. 지원되지 않는 리전(AWS 문서에도 나열되어 있습니다)은 다음과 같습니다.
- 아시아 태평양(홍콩).
- 아프리카(케이프타운).
- 중동(바레인).
- 유럽(취리히).
- AWS GovCloud(US-West 및 US-East).
GitLab.com의 프로젝트에 연결을 생성하려면 AWS Management Console 또는 AWS Command Line Interface(AWS CLI)를 사용할 수 있습니다.
AWS Management Console 사용#
AWS CodePipeline의 신규 또는 기존 파이프라인을 GitLab.com과 연결하려면 먼저 AWS 연결이 GitLab 계정을 사용하도록 승인합니다.
- AWS Management Console에 로그인한 뒤 AWS Developer Tools 콘솔을 엽니다.
- Settings > Connections > Create connection을 선택합니다.
- Select a provider에서 GitLab을 선택합니다.
- Connection name에 생성하려는 연결의 이름을 입력하고 Connect to GitLab을 선택합니다.
- GitLab 로그인 페이지에서 자격 증명을 입력하고 Sign in을 선택합니다.
- 해당 연결이 GitLab 계정에 접근하도록 승인해 달라는 메시지와 함께 승인 페이지가 표시됩니다. Authorize를 선택합니다.
- 브라우저가 연결 콘솔 페이지로 돌아갑니다. Create GitLab connection 섹션의 Connection name에 새 연결이 표시됩니다.
- Connect to GitLab을 선택합니다. 연결이 정상적으로 생성되면 성공 배너가 표시됩니다. 연결 상세 정보는 Connection settings 페이지에 표시됩니다.
AWS CodeSuite를 GitLab.com에 연결했으므로, 이제 GitLab 프로젝트를 활용하는 파이프라인을 AWS CodePipeline에서 생성하거나 편집할 수 있습니다.
-
AWS CodePipeline 콘솔에 로그인합니다.
-
파이프라인을 생성하거나 편집합니다.
- 파이프라인을 생성하는 경우:
- 첫 화면의 필드를 채우고 Next를 선택합니다.
- Source 페이지의 Source Provider 섹션에서 GitLab을 선택합니다.
- 기존 파이프라인을 편집하는 경우:
- Edit > Edit stage를 선택해 소스 액션을 추가하거나 편집합니다.
- Edit action 페이지의 Action name 섹션에 액션 이름을 입력합니다.
- Action provider에서 GitLab을 선택합니다.
- 파이프라인을 생성하는 경우:
-
Connection에서 앞서 생성한 연결을 선택합니다.
-
Repository name에서 GitLab 프로젝트 이름을 선택하려면 네임스페이스와 모든 하위 그룹을 포함한 전체 프로젝트 경로를 지정합니다. 예를 들어 그룹 수준 프로젝트라면 프로젝트 이름을
group-name/subgroup-name/project-name형식으로 입력합니다. 네임스페이스를 포함한 프로젝트 경로는 GitLab의 URL에 있습니다. 웹 IDE 나 raw 뷰의 URL에는 다른 특수 URL 세그먼트가 포함되므로 복사하지 않습니다. 대화 상자에서 항목을 고르거나 새 경로를 직접 입력할 수도 있습니다. 자세한 내용은 다음을 참고합니다. -
Branch name에서 파이프라인이 소스 변경 사항을 감지할 브랜치를 선택합니다. 브랜치 이름이 자동으로 채워지지 않는다면 다음 중 하나가 원인일 수 있습니다.
- 해당 프로젝트에서 Owner 권한이 없습니다.
- 프로젝트 이름이 유효하지 않습니다.
- 사용한 연결이 해당 프로젝트에 접근할 수 없습니다.
-
Output artifact format에서 아티팩트의 형식을 선택합니다. 저장 방식은 다음과 같습니다.
- 기본 방식으로 GitLab 액션의 출력 아티팩트를 저장하려면 CodePipeline default를 선택합니다. 이 액션은 GitLab 리포지터리에서 파일에 접근한 뒤 파이프라인 아티팩트 저장소에 ZIP 파일로 아티팩트를 저장합니다.
- 다운스트림 액션이 Git 명령을 직접 실행할 수 있도록 리포지터리에 대한 URL 참조가 담긴 JSON 파일을 저장하려면 Full clone을 선택합니다. 이 옵션은 CodeBuild 다운스트림 액션에서만 사용할 수 있습니다. 이 옵션을 선택하려면 다음을 수행합니다.
-
소스 액션을 저장하고 계속 진행합니다.
AWS CLI 사용#
AWS CLI로 연결을 생성하려면 다음을 수행합니다.
create-connection명령을 사용합니다.- AWS 콘솔로 이동해 GitLab.com 계정으로 인증합니다.
- GitLab 프로젝트를 AWS CodePipeline에 연결합니다.
create-connection 명령을 사용하려면 다음을 수행합니다.
-
터미널(Linux, macOS, Unix) 또는 명령 프롬프트(Windows)를 엽니다. AWS CLI로
create-connection명령을 실행하면서 연결에 사용할--provider-type과--connection-name을 지정합니다. 이 예시에서 서드 파티 공급자 이름은GitLab이고 지정한 연결 이름은MyConnection입니다.aws codestar-connections create-connection --provider-type GitLab --connection-name MyConnection성공하면 이 명령은 연결의 Amazon Resource Name(ARN) 정보를 반환합니다. 예를 들면 다음과 같습니다.
{ "ConnectionArn": "arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f" } -
새 연결은 기본적으로
PENDING상태로 생성됩니다. 콘솔을 사용해 연결 상태를AVAILABLE로 변경합니다. -
AWS 콘솔로 연결을 완료합니다. 보류 중인 GitLab 연결을 선택해야 합니다. Create connection을 선택하지 않습니다.