CodePipeline
- 어플리케이션 및 인프라 업데이트의 배포 파이프라인 자동화를 제공하는 완전 관리형 Continuous Delivery 서비스
- 코드 변경이 발생하는 경우 자동 빌드 -> 테스트 -> 배포 수행
- AWS 서비스 및 3rd Party(Github, Jenkins 등) 툴과 통합 가능
- 커스텀 WorkFlow 모델링: AWS Lambda와 통합하여 파이프라인 어느 단계에서든 사용자 정의 함수 Trigger 가능
CodePipeline 주요 구성요소
- Pipeline: WorkFlow 구성, 각 파이프라인 당 S3버킷에 폴더 생성 및 아티팩트 저장 됨
- Stage: 수행 '작업'
- Action: 실행 단위로 지정된 순서 및 병렬로 수행, 모든 Action은 입력/출력 아티팩트를 가짐
- Transition: Stage의 전환
- Approval : 권한이 부여될 때까지 다음 작업으로 전환 방지
CodePipeline 구성하기
- 기존 테스트한 내용들을 모두 사용해서 PipeLine 구성 진행
- CodeCommit 구성 참조: https://happy-jjang-a.tistory.com/89
- CodeBuild 구성 참조: https://happy-jjang-a.tistory.com/92
- CodeDeploy 구성 참조: https://happy-jjang-a.tistory.com/94
- CodePipeline 메뉴에서 '파이프라인 생성' 버튼을 클릭하면 아래 화면이 처음으로 나온다. 여기서는 파이프라인 이름을 입력하고, [서비스역할]은 자동생성 되도록 '새 서비스 역할'을 선택한다
- 하단에 [고급설정]에서는 [아티팩트 스토어]는 '사용자 지정 위치'로 해서 CodeBuild 테스트 시 생성한 버킷으로 선택 후 다음
- [소스 스테이지]에서는 [공급자]를 CodeCommit로 하여 기존 테스트한 CodeCommit의 정보를 입력하고 다음
- [빌드 스테이지]에서도 동일하게 [공급자]는 CodeBuild로 선택하고, 기존에 테스트한 CodeBuild 내용을 선택하고 다음
- [배포 스테이지]에서도 [공급자]는 CodeDeploy로 선택, 기존 테스트한 CodeDeploy 내용을 선택하고 다음
- 검토화면에서 하단의 '파이프라인 생성'버튼 클릭으로 생성하면 아래와 같이 파이프라인 실행 됨
- 일단 ALB로 접속 확인하니 마지막으로 테스트했던 화면이 뜸
- 소스 수정(Hello World뒤에 숫자만 변경) 후 Push하고 CodePipeline 접속해보면 다시 진행중으로 나옴
- Pipeline 실행이 완료된 후 다시 ALB로 접속해보면 결과 반영 확인 됨
기존에 테스트했던 CodeCommit, CodeBuild, CodeDeploy들을 재사용 하니깐 Pipeline 구성은 생각보다 간단하게 끝났다. 중간에 다른 툴들과 통합을 하게되면 좀 더 복잡해질 것 같은데 나중에 한번 해봐야겠다
'개발 > AWS' 카테고리의 다른 글
RDS Multi AZ 고가용성 구성 테스트 (0) | 2022.03.06 |
---|---|
AWS API Gateway 살펴보기(HTTP API, REST API 생성) (0) | 2022.03.04 |
AWS CodeBuild로 빌드하기(SpringBoot, Maven) (0) | 2022.02.26 |
AWS CodeCommit Migration 테스트(from Github) (0) | 2022.02.24 |
AWS CodeCommit Push 403 Unable to access(MAC) (0) | 2022.02.24 |
댓글