## AWS CodePipeline이란 무엇입니까?
- AWS CodePipeline은 소프트웨어 릴리스에 필요한 단계를 모델링, 시각화 및 자동화하는 데 사용할 수 있는 지속적 전달 서비스입니다.
- 소프트웨어 릴리스 프로세스를 구성하는 여러 단계를 신속하게 모델링하고 구성할 수 있습니다.
- CodePipeline은 소프트웨어 변경 내용을 지속적으로 릴리스하는 데 필요한 단계를 자동화합니다.
- CodePipeline의 요금에 대한 자세한 내용은 요금을 참조하십시오.
## 지속적 제공 및 지속적 통합
- CodePipeline는 사용자의 소프트웨어를 프로덕션으로 빌드, 테스트, 배포하는 과정을 자동화하는 지속적 제공 서비스입니다.
- 지속적 제공은 릴리스 프로세스가 자동화되는 소프트웨어 개발 방법론입니다.
- 모든 소프트웨어 변경이 프로덕션으로 자동 빌드, 테스트 및 배포됩니다.
- 마지막으로 프로덕션에 푸시하기 전에 사람이나 자동화된 테스트, 혹은 비즈니스 규칙이 마지막 푸시 발생 시점을 결정합니다.
- 성공적인 모든 소프트웨어 변경 사항은 즉시 지속적 제공으로 프로덕션에 릴리스되지만, 모든 변경 사항을 즉시 릴리스해야 하는 것은 아닙니다.
- 지속적 통합은 팀원들이 버전 제어 시스템을 이용하고 마스터 브랜치 같은 동일 위치에 자신들의 업무를 자주 통합하는 소프트웨어 개발 업무.
- 각 변경 내용을 빌드한 다음 검증을 거쳐 통합 오류를 신속히 감지합니다.
- 프로덕션까지 전체 소프트웨어 릴리스 프로세스를 자동화하는 지속적 제공과 비교할 때 지속적 통합은 코드의 자동 빌드 및 테스트에 주력합니다.
## CodePipeline로 할 수 있는 작업은 무엇입니까?
- CodePipeline을 사용하면 클라우드에서 애플리케이션을 자동으로 빌드하고 테스트하며 배포하는 데 도움이 됩니다.
구체적으로 다음 작업이 가능합니다.
- 릴리스 프로세스 자동화: CodePipeline은 빌드, 테스트, 배포를 통해 소스 리포지토리에서 시작해서 말단에서 말단까지 릴리스 프로세스를 완전히
자동화합니다.
- Source 단계를 제외하고 모든 단계에서 수동 승인 작업을 포함시키면 파이프라인을 통해 변경 내용이 이동하지 않도록 방지할 수 있습니다.
- 인스턴스 한 개나 여러 개에 원하는 시기에 원하는 방식으로 선택한 시스템에서 릴리스할 수 있습니다.
- 일관된 릴리스 프로세스 확립: 모든 코드 변경에 일관된 단계 세트를 정의합니다. 사용자 기준에 맞추어 CodePipeline은 릴리스의 각 단계를
실행합니다.
- 품질을 개선하면서 제공 속도 증가: 개발자들이 증분 방식으로 코드를 테스트하고 릴리스할 수 있도록 릴리스 프로세스를 자동화하며 새 기능을
고객에게 빨리 선보일 수 있습니다.
- 즐겨 찾는 도구 이용: 기존의 소스와 빌드, 배포 도구를 파이프라인에 통합할 수 있습니다.
- 현재 CodePipeline이 지원하는 AWS 서비스와 타사 도구의 전체 목록은 CodePipeline와 제품 및 서비스 통합 단원을 참조하십시오.
- 진행 상황 한 눈에 보기: 파이프라인의 실시간 상태를 확인하고, 모든 경고의 세부 사항을 점검하며, 실패한 작업을 재시도하고, 각 스테이지에서
최근 파이프라인 실행에 사용한 소수 수정의 세부 내용을 보고, 모든 파이프라인을 수동으로 다시 실행합니다.
- 파이프라인 기록 세부 정보 보기: 시작 및 종료 시간, 실행 기간 및 실행 ID 등의 파이프라인 실행에 대한 세부 정보를 볼 수 있습니다.
## 간단히 보는 CodePipeline
- 다음 다이어그램은 CodePipeline을 이용한 릴리스 프로세스의 예입니다.
- 이 예에서 개발자가 소스 리포지토리에 변경을 가하면 CodePipeline이 자동으로 변경 내용을 감지합니다.
- 그러한 변경 내용을 빌드하고 테스트를 구성하는 경우에는 그 테스트를 실행합니다.
- 테스트를 마친 후 테스트를 위해 빌드된 코드를 스테이징 서버로 배포합니다.
- 스테이징 서버에서 CodePipeline은 통합이나 로드 테스트 같은 추가 테스트를 실행합니다.
- 테스트가 성공적으로 끝나고 파이프라인에 추가한 수동 승인 작업에 승인을 받고 나면 이 테스트가 완료된 승인받은 코드를 프로덕션
인스턴스에 배포합니다.
- CodePipeline은 CodeDeploy, AWS Elastic Beanstalk 또는 AWS OpsWorks Stacks을 사용하여 EC2 인스턴스에 애플리케이션을 배포할 수
있습니다.
- 또한 CodePipeline은 Amazon ECS를 사용하여 컨테이너 기반 애플리케이션을 서비스에 배포할 수 있습니다.
- 개발자는 과 함께 제공되는 통합 포인트를 이용해 빌드 서비스, 테스트 제공자, 다른 배포 대상이나 시스템 같은 다른 도구나 서비스를
플러그인할 수 있습니다.
- 파이프라인은 릴리스 프로세스가 요구하는 대로 단순하거나 복잡해집니다.
출처: <https://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/welcome-introducing.html>
'[AWS]' 카테고리의 다른 글
AWS 스냅샷 올바른 기능 (0) | 2020.06.08 |
---|---|
PaaS 의 경우 고객이 책임져야 할 영역 (0) | 2020.06.08 |
CodeDeploy란 무엇입니까? (0) | 2020.06.07 |
AWS CodeBuild란 무엇입니까? (0) | 2020.06.07 |
AWS CodeCommit란 무엇입니까? (0) | 2020.06.06 |
댓글