[AWS] Code Pipeline 구성 요소 쉽게 정리 (Pipeline, Stages, Actions, Action Provider)
Code Pipeline
CodePipeline은 AWS의 CI/CD 도구이다.
애플리케이션의 빌드(build), 테스트(test), 배포(deploy) 단계를 파이프라인 형태로 설정하여 빠르고 안정적으로 릴리스할 수 있도록 도와준다
참고: https://jibinary.tistory.com/481
CodePipeline pipeline structure reference
Code Pipeline 구성 요소
- Pipeline
- Stages
- Source
- Build
- Deploy
- Actions
- Action Provider
Pipeline - Stages - Actions (Code Pipeline의 구성 요소)
Pipeline (파이프라인)
Pipeline은 Stage(단계)로 구성된 워크플로우이다.
애플리케이션의 소스 코드에서 배포까지의 전체 프로세스를 정의한다.
Stages (단계)
파이프라인의 각 Stage는 특정 Action(작업)을 수행한다.
각 Stage는 하나 이상의 Action으로 이루어져 있다.
[예시]
– Source
stage : Repo에서 코드를 가져오는 단계
– Build
stage : 코드를 빌드하고 테스트하는 단계
– Deploy
stage : 빌드된 코드를 배포하는 단계
Actions (작업)
Stage에서 수행되는 구체적인 개별 작업이다.
[작업 유형]
– Source
action: 소스 코드 가져오기 (예: GitHub, CodeCommit)
– Build
action: 코드 빌드 및 테스트 (예: CodeBuild)
– Deploy
action: 배포 수행 (예: CodeDeploy, Elastic Beanstalk)
– Approval
action: 수동 승인 단계 (예: 관리자가 배포 승인)
– Invoke
action: Lambda 함수 호출
Action Provider (작업 제공자)
작업 유형에 따라 다른 Action Provider(작업 제공자)를 사용한다.
[작업 유형]: Approval, Build, Deploy, Invoke, Source
Code Pipeline 작성하기
먼저 Pipeline 생성하기
Source Stage 선택하기
Build Stage 선택하기 (skip 할 수 있다)
Deploy Stage 선택하기 (skip 할 수 있다)
🤔 문제
한 개발자가 AWS CodePipeline에서 애플리케이션의 배포 환경을 설정하고 있습니다. 애플리케이션 코드는 GitHub 저장소에 저장되어 있습니다. 개발자는 새 배포 환경에서 저장소 패키지의 Unit Test가 실행되도록 하고 싶습니다. 이 개발자는 이미 파이프라인의 소스 공급자를 GitHub으로 설정했으며, 배포에 사용할 저장소와 브랜치를 지정했습니다.
다음 요구 사항을 가장 적은 작업(오버헤드)으로 충족하기 위해 개발자가 다음에 취해야 할 단계는 무엇입니까? (두 가지를 선택하세요.)
- AWS CodeCommit 프로젝트를 생성합니다. 저장소 패키지의 빌드 및 테스트 명령을 프로젝트의 buildspec에 추가합니다.
- AWS CodeBuild 프로젝트를 생성합니다. 저장소 패키지의 빌드 및 테스트 명령을 프로젝트의 buildspec에 추가합니다.
- AWS CodeDeploy 프로젝트를 생성합니다. 저장소 패키지의 빌드 및 테스트 명령을 프로젝트의 buildspec에 추가합니다.
- 소스 Stage에 Action을 추가합니다. 새로 생성된 프로젝트를 Action Provider로 지정합니다. 빌드 아티팩트를 작업의 입력 아티팩트로 지정합니다.
- 소스 Stage 이후에 파이프라인에 새 Stage를 추가합니다. 새로운 Stage에 Action을 추가합니다. 새로 생성된 프로젝트를 Action Provider로 지정합니다. 소스 아티팩트를 작업의 입력 아티팩트로 지정합니다.
정답
정답. 2번, 5번
2번. buildspec 파일은 CodeBuild에서 사용되는 파일이다.