반응형
지난번 Step2에 이어서 빌드 스테이지를 추가한다.
1. Step3. 빌드 스테이지 추가
1-1. Step3는 빌드 스테이지 추가이다. 아래와 같은 화면이 나올것이다.
1-2. 빌드 공급자 선택
- Jenkins가 아니라 CodeBuild를 사용할것이기 때문에 AWS CodeBuild를 선택한다.
1-3.프로젝트 생성하기
- AWS CodeBuild를 선택하면 아래와 같은 화면이 나오는데 여기서 "프로젝트 생성" 버튼을 눌러서 만들어주자
1-4. CodeBuild 빌드 프로젝트 생성하기
- 아래와 같이 CodeBuild의 빌드 프로젝트를 생성하는 팝업창이 나올것이다. 여기서 먼저 프로젝트의 이름과 설명을 작성한다.
1-5. 환경 설정하기
- 하단으로 스크롤하면 "환경" 설정이 나온다. 여기서 "관리형 이미지"를 선택하고 운영체제로 'Ubuntu"를 선택한다.
- 런타임은 "Standard" 이미지는 가장 버전이 높은 7.0을 선택했다. 이미지 버전 또한 "이 런타임 버전에 항상 최신 이미지 사용"을 선택해 줬다. 마지막으로 환경 유형은 "Linux"를 선택했다.
- 하단의 권한이 있음 체크박스는 체크를 해준다. (ECR에 넣기전에 docker로 이미지 빌드를 할것이기 때문이다.)
- 여기서 "서비스 역할" 이부분을 잘 봐두는게 좋다. 이것때문에 IAM권한 문제가 있었는데 여기서 "새 서비스 역할"을 선택하면 내가 새롭게 역할을 만들기때문에 ECR접근이나 AWS CLI 로그인 접근이나 이런 정책들을 새로 만들게되는 역할에 적어줘야 한다.
- 하단처럼 그냥 이미 생성해 놓은 IAM 역할을 선택해서 사용할수도 있다. (역할 ARN 에서 기존의 역할을 선택하면 된다.)
- 이제 조금 아래로 내려오면 "추가 구성"이 있는데 여기도 default를 그대로 두었다. (이전에 VPC를 선택해줘봤는데 오류가 생겨서 우선은 아무것도 선택하지 않은채로 두었다.)
1-6. Buildspec 설정하기
- 우측의 "편집기로 전환" 버튼을 클릭하면 아래와 같이 빌드 명령어를 입력하는 에디터가 나온다.
위에서 작성한 Buildspec.yaml중에서 commands 부분을 해석해 보자
- 첫 번째로, aws ecr get-login-password --region ap-northeast-2 명령어는 AWS CLI를 사용하여 AWS ECR에서 인증 토큰을 가져온다. 이 토큰은 뒤따르는 docker login 명령어에서 사용된다.
aws ecr get-login-password --region ap-northeast-2
- 두번째로 "|" 파이프 연산자는 첫 번째 명령어의 출력을 두 번째 명령어의 입력으로 전달한다.
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin {본인의 ecr repositoy URI}/{ecr repository name}
- 세번째로 docker login --username AWS --password-stdin {본인의 ecr repositoy URI}/{ecr repository name} 명령어는 AWS ECR 레지스트리에 로그인한다. 여기서 --password-stdin 옵션은 비밀번호를 명령 줄에서 직접 입력하지 않고 표준 입력(stdin)에서 읽도록 Docker에 지시한다.
docker login --username AWS --password-stdin {본인의 ecr repositoy URI}/{ecr repository name}
- 이렇게 명령어를 작성해 놓으면 AWS CLI를 통해 가져온 인증 토큰을 사용하여 AWS ECR 레지스트리에 로그인하게 된다. 이 명령어는 주로 CI/CD 파이프라인의 buildspec 파일 내에서 사용되며, 이를 통해 빌드 및 배포 프로세스 중에 Docker 이미지를 AWS ECR에 푸시할 수 있게 된다.
1-7. 하단의 배치구성, 로그는 default로 두고 넘어간다.
- 모든 설정을 작성했다면 아래의 "CodePipeline으로 계속" 버튼을 누른다.
1-8. 아래와 같이 완성된 결과가 보인다.
- 이제 하단의 "다음" 버튼을 클릭해서 Step3를 넘어간다.
이번 포스트는 여기서 마친다. 이제 다음 포스트에서는 Step4를 작성하도록 한다.
2023.10.29 - [AWS] - AWS CI/CD: CodePipeline 배포 및 검토 (3편)
2023.10.29 - [AWS] - AWS CI/CD: CodePipeline 기본 설정 (1편)
반응형
'AWS > CodePipeline, CICD' 카테고리의 다른 글
AWS CI/CD: CodePipeline 세 번째 빌드 오류 해결 (6편) (1) | 2023.10.30 |
---|---|
AWS CI/CD: CodePipeline 두 번째 빌드 오류 해결 (5편) (1) | 2023.10.30 |
AWS CI/CD: CodePipeline 첫 번째 빌드 오류 해결 (4편) (2) | 2023.10.29 |
AWS CI/CD: CodePipeline 배포 및 검토 (3편) (0) | 2023.10.29 |
AWS CI/CD: CodePipeline 기본 설정 (1편) (1) | 2023.10.29 |