블록체인
블록체인

CodePipline

목차

개요

지속적 통합 및 지속적 전달을 가능하게 하는 서비스
소스코드의 커밋부터 배포까지 각자 상황에 맞는 파이프라인 구성
소스코드 불러오기, 빌드, 배포, 승인 등 다양한 작업을 조합해서 필요에 맞는 파이프라인을 구성할 수 있게 해줌
깃허브, 젠킨스 등의 서비스와도 연동 지원
Ex) 소스코드가 깃허브에 커밋되면 해당 코드를 불러와 CodeBuild에서 유닛 테스트를 실행한 뒤 문제가 없다면 CodeDeploy를 이용해 배포를 자동으로 수행
단계(1개 이상의 작업)별로 어떤 작업을 할지 지정 가능
작업은 직렬 또는 병렬로 동시에 수행할 수도 있음
직렬로 작업이 있을 때 앞의 작업이 성공적으로 끝나야만 다음 작업으로 넘어갈 수 있음
아티팩트를 통해 파이프라인 작업의 결과물로 다른 작업에 넘겨줄 수 있음

CodePipeline 작업 종류

승인
- 파이프라인의 다음 단계로 넘어가기 위해 승인을 기다림 - 사용자가 승인하면 파이프라인의 다음단계로 넘어가고, 거절하면 파이프라인은 여기서 끝남
소스
- 소스코드를 가져옴 - 모든 파이프라인은 소스 작업으로 시작해야 함 - AWS S3, AWS CodeCommint, 깃허브 등의 제공자와 연동 가능
빌드
- 뒤의 작업에서 사용할 수 있도록 코드를 빌드 - AWS CodeBuild, 젠킨스 등의 서비스와 연동 가능
테스트
- 미리 정의된 유닛 테스트 등의 자동화 테스트 코드로 테스트 진행 - AWS CodeBuild, 젠킨스, 고스트 인스펙터 등의 서비스와 연동 가능
배포
- 코드를 서버에 배포 - AWS CodeDeploy, AWS Elastic Beanstalk, ECS, CloudFormation 등의 서비스와 연동
호출
- AWS Lambda를 호출해 임의의 코드 실행 - 외부 서비스에 알림, 깃허브 API를 호출해서 버전을 기록하는 등의 작업 수행 가능

지속적 전달을 구현한 CodePipeLine

병렬적으로 처리하는 CodePipeLine