[AWS] CI/CD 환경구축(4) - CodePipeline

2020. 12. 29. 09:32AWS/AWS_Service

반응형

안녕하세요, 달콤한달팽이입니다.🐌🙂


오늘은 AWS를 사용하여 CI/CD 환경을 구축하는 방법 마지막, 네 번째 시간을 가져보겠습니다.


CodePipeline이란?

CodePipeline이란, 앞서 구성한 CodeCommit, CodeBuild, CodeDeploy를 하나로 통합해주어

이에 대한 변경사항을 자동으로 감지하고 자동으로 배포를 진행하는 서비스를 의미합니다. 


CodePipeline은 총 5가지 스텝으로 구성되어 있습니다.

 (1) 파이프라인 설정

 (2) 소스 스테이지 추가

 (3) 빌드 스테이지 추가

 (4) 배포 스테이지 추가

 (5) 검토

 

그러나 앞선 실습으로 저희는 CodePipeline에 필요한 요소를 모두 구성해둔 상태이므로,

2~4번 스테이지 추가 스탭은 만들어둔 요소를 선택하는 정도로 생각해도 좋을 것 같습니다.

 

1) 파이프라인 설정

우선 파이프라인에 생성될 이름을 지정합니다.

만약 새 서비스 역할을 선택했을 경우, 파이프라인 이름에 따라 역할 이름이 자동으로 지정됩니다.

(역할 이름이 마음에 들지 않을 경우 수정도 가능합니다!)

 

이후 변수와 고급 설정을 통해 파이프라인 시작 시 사용할 변수, 아티팩트가 저장될 버킷 등을 지정할 수 있습니다.

 

아티팩트 스토어를 기본으로 설정할 경우, 임의의 기본 버킷이 지정되므로

이번 실습에서는 임의의 버킷으로 지정해주었습니다.

 

2) 소스 스테이지 추가

소스 스테이지는 Pipeline의 입력 아티팩트(소스코드)가 위치하는 곳을 지정해주는 작업입니다.

사용자의 요구에 따라 S3, GitHub, GitLab 등을 선택할 수 있어 범용성이 매우 높다는 특장점이 있습니다!

 

이번 실습에서는 앞서 생성한 CodeCommit을 사용하겠습니다.

이를 통해 test-repo 리포지토리의 main 브랜치가 수정될 때마다 CodePipeline이 자동으로 수행됩니다.

 

3) 빌드 스테이지 추가

빌드 스테이지는 Pipeline의 빌드가 수행되는 도구를 지정해주는 작업입니다.

사용자의 요구에 따라 Jenkin를 선택할 수도 있습니다!

 

이것 역시 앞서 생성해둔 CodeBuild를 사용하도록 하겠습니다.

이를 통해 Build에서 설정(AmazonLinux2 환경에서 빌드 수행)한 상태로 빌드가 수행됩니다.

 

4) 배포 스테이지 추가

배포 스테이지는 Build 결과물이 배포되는 위치를 지정해주는 작업입니다.

사용자의 요구에 따라 S3, ECS, Beanstalk, CloudFormation 등을 선택할 수 있습니다!

 

이것 역시 앞서 생성해둔 CodeDeploy를 사용하도록 하겠습니다.

 

5) 생성확인 및 수정

이후 파이프라인 탭에서 정상 생성된 것을 확인할 수 있으며, 기록탭을 통해 파이프라인 실행내역을 확인할 수 있습니다.

 

이후 편집탭을 통해 임의의 스테이지를 추가하거나, 기존 스테이지를 변경할 수 있습니다.

저는 배포 스테이지에서 CodeDeploy를 S3로 변경했습니다.

 

 

지금까지 CI/CD 환경 구성, 그 마지막 단계인 CodePipeline을 통해 CI/CD 환경을 구성하는 방법을 알아보았습니다.

 

앞서 실습한 기능 이외에도 수동승인, 코드 테스트 등 다양한 기능을 추가할 수 있으니

입맛대로 구성하여 더 효율적인 사용을 시도해보았으면 좋겠습니다 :)

 

감사합니다!


관련 글

반응형