AWS CodePipeline은 소프트웨어를 출시하는 데 필요한 단계를 모델링, 시각화 및 자동화할 수 있게 해주는 지속적 전달 서비스입니다. AWS CodePipeline을 사용하여 코드 빌드, 사전 프로덕션 환경으로의 배포, 애플리케이션 테스트 및 프로덕션으로 릴리스를 비롯한 전체 릴리스 프로세스를 모델링합니다. 그러면 AWS CodePipeline이 정의된 워크플로우에 따라 코드 변경이 있을 때마다 애플리케이션을 빌드, 테스트, 배포합니다. 파트너 도구 및 자체 커스텀 도구를 출시 프로세스 중 원하는 단계에 통합하여 포괄적이며 지속적인 전송 솔루션을 형성할 수 있습니다.
빌드, 테스트, 릴리스 프로세스를 자동화하는 AWS CodePipeline을 사용하면 모든 새로운 변경 사항을 일관된 품질 검사 세트를 통해 실행하여 소프트웨어 업데이트의 속도와 품질을 높일 수 있습니다.
지속적 전달은 프로덕션에 릴리스하기 위한 코드 변경이 자동으로 빌드, 테스트 및 준비되는 소프트웨어 개발 방식입니다. AWS CodePipeline은 지속적 전달을 사용할 수 있도록 지원하는 서비스입니다. 지속적 전달에 대한 자세한 내용은 여기를 참조하세요.
파이프라인이란 소프트웨어 변경 사항이 릴리스 프로세스에 적용되는 방법을 설명하는 워크플로우 구성입니다. 단계 및 작업 시퀀스로 워크플로우를 정의할 수 있습니다.
수정 버전이란 파이프라인에서 정의한 소스 위치에 이루어진 변경 사항을 뜻합니다. 소스 코드, 빌드 결과, 구성 또는 데이터가 여기에 포함될 수 있습니다. 파이프라인에는 동시에 여러 개의 수정 버전이 있을 수 있습니다.
스테이지란 하나 이상의 작업으로 이루어진 그룹을 뜻합니다. 파이프라인에는 2개 이상의 단계가 있을 수 있습니다.
작업이란 수정 버전에서 수행한 일을 뜻합니다. 파이프라인 작업은 단계 구성에서 정의한 대로 지정된 순서나 직렬 또는 병렬로 발생합니다. 자세한 내용은 파이프라인 편집 및 AWS CodePipeline의 작업 구조 요구 사항 섹션을 참조하세요.
작업은 파일 또는 파일 세트에 따라 실행됩니다. 이러한 파일을 아티팩트라고 합니다. 이러한 아티팩트는 파이프라인의 이후 작업에 따라 작동합니다. 예를 들어 소스 작업은 코드의 최신 버전을 소스 아티팩트로 출력하며 빌드 작업은 이를 읽어들입니다. 컴파일 후 구축 작업은 구축 출력을 다른 아티팩트로 업로드하며 이후 배포 작업이 이를 읽어들입니다.
파이프라인의 스테이지는 전환을 거쳐 연결되며 이는 AWS CodePipeline 콘솔에서 화살표로 표시됩니다. 스테이지에서 작업이 성공적으로 완료된 수정 버전은 자동으로 전환 화살표로 표시된 다음 스테이지로 넘어갑니다. 전환은 단계 사이 활성화 또는 비활성화할 수 있습니다.
AWS Management Console에 로그인하여 파이프라인을 생성하고 서비스를 사용할 수 있습니다. AWS CodePipeline에 대한 소개가 필요한 경우 단계별 자습서가 포함된 시작 안내서를 참조하십시오.
파이프라인을 생성하면 소스 코드의 최신 수정 버전을 릴리스하기 위한 실행이 자동으로 트리거됩니다. 그러면 이후 소스 위치에서 변경할 때마다 새로운 실행이 트리거됩니다. 또한, 파이프라인 콘솔의 변경 사항 릴리스 버튼을 사용하여 전체 파이프라인에 걸쳐 최신 버전을 다시 실행할 수 있습니다.
파이프라인을 중단하려면 다른 단계로 넘어가는 전환을 비활성화해야 합니다. 전환을 비활성화하면 파이프라인에서는 작업을 통한 수정 버전 실행은 계속 진행하지만, 비활성화된 전환을 통해 이후 단계로 수정 버전을 승격하지는 않습니다. 자세한 내용은 Disable or Enable Transitions in AWS CodePipeline을 참조하십시오.
예. AWS CodePipeline 콘솔 또는 AWS CLI를 사용하여 파이프라인의 단계를 추가 또는 제거하거나, 단계 내의 작업을 추가, 편집, 제거할 수 있습니다.
예. get-pipeline AWS CLI 명령을 사용하여 기존 파이프라인의 JSON 구조를 얻을 수 있습니다. 그러면 해당 JSON 및 create-pipeline AWS CLI 명령을 사용하여 기존 파이프라인과 동일한 구조의 새로운 파이프라인을 생성할 수 있습니다.
예. 원하는 단계에서 하나 이상의 작업이 병렬로 실행되도록 구성할 수 있습니다.
소스 코드 리포지토리에 AWS Serverless Application Model 템플릿 및 이와 관련된 파일을 추가하면 서버 없는 애플리케이션에 대한 업데이트를 릴리스할 수 있습니다. 파이프라인에서 AWS CodeBuild를 사용하여 배포용으로 코드를 패키징할 수 있습니다. 그런 다음 AWS CloudFormation 작업을 통해 변경 세트를 생성하고 서버리스 애플리케이션을 배포하면 됩니다. 수동 승인이나 자동 테스트와 같은 추가 단계를 사용해 워크플로를 확장하도록 선택할 수 있습니다. 여기에서 자세히 알아보십시오.
AWS CodePipeline 및 AWS CloudFormation을 통해 지속적 전달을 사용하면 프로덕션 스택에 적용하기 전에 AWS CloudFormation 스택에 변경 사항을 먼저 자동으로 빌드하고 테스트할 수 있습니다. 이 릴리스 프로세스는 AWS 인프라에 변경 사항을 신속하고 안정적으로 적용할 수 있게 해줍니다. 수동 승인, 테스트 작업 또는 AWS Lambda 작업 호출과 같은 추가 작업으로 워크플로를 확장할 수 있습니다. 자세한 내용은 AWS CloudFormation을 사용한 지속적 전달 페이지를 참조하세요.
AWS CodePipeline은 AWS CodeCommit, Amazon S3, AWS CodeBuild, AWS CodeDeploy, AWS Elastic Beanstalk, AWS CloudFormation, AWS OpsWorks, Amazon ECS 및 AWS Lambda와 같은 AWS 서비스와 통합됩니다. 또한, AWS CodePipeline은 여러 가지 파트너 서비스와도 통합됩니다. 자세한 내용은 제품 통합 페이지를 참조하세요. 마지막으로 자체 사용자 지정 작업을 작성하고 기존 도구를 CodePipeline과 통합할 수 있습니다. 사용자 지정 작업에 대한 자세한 내용은 AWS CodePipeline에서 사용자 지정 작업 생성 및 추가 페이지를 참조하십시오.
예. 보안 분석 및 운영 문제 해결을 위해 계정에서 이루어진 AWS CodePipeline API 호출 기록을 수신하려면 AWS Management Console에서 AWS CloudTrail을 활성화하면 됩니다. 자세한 내용은 AWS CloudTrail를 사용하여 AWS CodePipeline API 호출 로깅 페이지를 참조하십시오.
서비스 제한에 대한 자세한 내용은 제한 페이지를 참조하십시오.
파이프라인에 영향을 주는 이벤트에 대한 알림을 생성할 수 있습니다. 알림은 Amazon SNS 알림 형식으로 수신됩니다. 각 알림에는 상태 메시지와 함께, 해당 알림이 생성되도록 한 이벤트가 발생한 리소스의 링크가 포함됩니다. 알림에는 추가 비용이 부과되지 않지만 Amazon SNS 등 알림에서 사용하는 다른 AWS 서비스에는 비용이 부과될 수 있습니다. 알림 사용을 시작하는 방법은 알림 사용 설명서를 참조하십시오. 또한 AWS Chatbot을 사용하는 고객은 Slack 채널 또는 Amazon Chime 채팅방으로 알림이 전송되도록 구성할 수 있습니다. 자세한 내용은 여기를 참조하세요.
자체 개발자 서비스를 AWS CodePipeline과 통합하는 AWS 파트너가 되는 데 관심이 있는 경우 codepipeline-request@amazon.com으로 문의하십시오.
예. 파이프라인을 소유한 AWS 계정에서 IAM 역할을 생성하여 해당 파이프라인 및 관련 리소스에 대한 액세스 권한을 다른 계정의 IAM 사용자에게 위임할 수 있습니다. 이러한 교차 계정 액세스를 활성화하는 방법에 대한 안내는 안내서: IAM 역할을 사용한 AWS 계정 간 액세스 권한 위임과 파이프라인에 대한 교차 계정 액세스 구성을 참조하세요.
CodePipeline의 리전별 가용성에 대한 자세한 정보는 리전별 제품 및 서비스를 참조하세요.
AWS CodePipeline 비용에 대한 자세한 내용은 요금 페이지를 참조하세요.