본문 바로가기
개발/AWS

AWS CodePipeline 구성(CodeCommit, CodeBuild, CodeDeploy 활용)

by 궁즉변 변즉통 통즉구 2022. 2. 28.
반응형

CodePipeline

  • 어플리케이션 및 인프라 업데이트의 배포 파이프라인 자동화를 제공하는 완전 관리형 Continuous Delivery 서비스
  • 코드 변경이 발생하는 경우 자동 빌드 -> 테스트 -> 배포 수행
  • AWS 서비스 및 3rd Party(Github, Jenkins 등) 툴과 통합 가능
  • 커스텀 WorkFlow 모델링: AWS Lambda와 통합하여 파이프라인 어느 단계에서든 사용자 정의 함수 Trigger 가능

CodePipeline 동작 방식[출처: 아마존 웹 서비스로 시작하는 데브옵스]

CodePipeline 주요 구성요소

  • Pipeline:  WorkFlow 구성, 각 파이프라인 당 S3버킷에 폴더 생성 및 아티팩트 저장 됨
  • Stage: 수행 '작업'
  • Action: 실행 단위로 지정된 순서 및 병렬로 수행, 모든 Action은 입력/출력 아티팩트를 가짐
  • Transition: Stage의 전환
  • Approval : 권한이 부여될 때까지 다음 작업으로 전환 방지

출처: 아마존 웹 서비스로 시작하는 데브옵스

 

CodePipeline 구성하기

- 기존 테스트한 내용들을 모두 사용해서 PipeLine 구성 진행

 

- CodePipeline 메뉴에서 '파이프라인 생성' 버튼을 클릭하면 아래 화면이 처음으로 나온다. 여기서는 파이프라인 이름을 입력하고, [서비스역할]은 자동생성 되도록 '새 서비스 역할'을 선택한다

- 하단에 [고급설정]에서는 [아티팩트 스토어]는 '사용자 지정 위치'로 해서 CodeBuild 테스트 시 생성한 버킷으로 선택 후 다음

 

- [소스 스테이지]에서는 [공급자]를 CodeCommit로 하여 기존 테스트한 CodeCommit의 정보를 입력하고 다음

 

- [빌드 스테이지]에서도 동일하게 [공급자]는 CodeBuild로 선택하고, 기존에 테스트한 CodeBuild 내용을 선택하고 다음

 

- [배포 스테이지]에서도 [공급자]는 CodeDeploy로 선택, 기존 테스트한 CodeDeploy 내용을 선택하고 다음

 

- 검토화면에서 하단의 '파이프라인 생성'버튼 클릭으로 생성하면 아래와 같이 파이프라인 실행 됨

 

- 일단 ALB로 접속 확인하니 마지막으로 테스트했던 화면이 뜸

 

- 소스 수정(Hello World뒤에 숫자만 변경) 후 Push하고 CodePipeline 접속해보면 다시 진행중으로 나옴

 

- Pipeline 실행이 완료된 후 다시 ALB로 접속해보면 결과 반영 확인 됨

 

기존에 테스트했던 CodeCommit, CodeBuild, CodeDeploy들을 재사용 하니깐 Pipeline 구성은 생각보다 간단하게 끝났다. 중간에 다른 툴들과 통합을 하게되면 좀 더 복잡해질 것 같은데 나중에 한번 해봐야겠다

반응형

댓글