AWS CodePipeline 기능
CodePipeline을 선택해야 하는 이유
AWS CodePipeline은 빠르고 안정적인 애플리케이션 및 인프라 업데이트를 위한 지속적 통합 및 지속적 전달(CI/CD) 서비스입니다. CodePipeline을 사용하여 소프트웨어 출시 프로세스를 완전히 모델링 및 자동화할 수 있습니다.
AWS CodePipeline은 빠르고 안정적인 애플리케이션 및 인프라 업데이트를 위한 지속적 통합 및 지속적 전달(CI/CD) 서비스입니다. CodePipeline을 사용하여 소프트웨어 출시 프로세스를 완전히 모델링 및 자동화할 수 있습니다.
파이프라인은 출시 프로세스 워크플로를 정의하고, 새로운 코드 변경이 출시 프로세스에서 진행되는 방법을 설명합니다. 파이프라인은 일련의 단계(예: 빌드, 테스트, 배포)로 구성되며 워크플로에서 논리적 경계 역할을 합니다. 각 단계는 코드를 빌드하거나 테스트 환경에 배포하는 등의 작업 시퀀스로 구성됩니다. CodePipeline이 제공하는 그래픽 사용자 인터페이스를 통해 파이프라인과 해당 파이프라인의 다양한 단계 및 작업을 생성, 구성, 관리할 수 있습니다. 이를 통해 출시 프로세스 워크플로를 손쉽게 시각화 및 모델링할 수 있습니다.
병렬 실행
CodePipeline을 통해 구축, 테스트, 배포 작업을 모델링하여 워크플로우 속도를 높이기 위해 병렬로 실행할 수 있습니다.
CodePipeline은 AWS CodeCommit, GitHub, Amazon Elastic Container Registry(Amazon ECR) 또는 Amazon Simple Storage Service(Amazon S3)에서 바로 파이프라인에 대한 소스 코드를 가져올 수 있으며, AWS CodeBuild에서 빌드와 단위 테스트를 실행할 수 있습니다. CodePipeline에서는 AWS CodeDeploy, AWS Elastic Beanstalk, Amazon Elastic Container Service(Amazon ECS) 또는 AWS Fargate를 사용하여 변경 사항을 배포할 수 있습니다.
릴리스 프로세스의 일부로 AWS 리소스를 프로비저닝, 업데이트 또는 삭제할 수 있게 AWS CloudFormation 작업을 모델링할 수 있습니다. 이를 통해 AWS Serverless Application Model(AWS SAM)에서 AWS Lambda, Amazon API Gateway 및 Amazon DynamoDB를 사용하여 구축된 서버리스 애플리케이션을 계속 제공할 수 있습니다.
또한, CodePipeline과 Lambda의 통합을 사용하여, 파이프라인의 어느 단계에서든 코드에서 정의한 사용자 정의 함수를 트리거할 수 있습니다. 예를 들어 웹 애플리케이션이 성공적으로 배포되었는지를 테스트하는 Lambda 함수를 트리거할 수 있습니다.
CodePipeline을 사용하면 타사 개발자 도구 및 사용자 정의 시스템과 함께 이러한 서비스를 연결하는 파이프라인을 구성할 수 있습니다.
CodePipeline을 사용하면 한 번의 클릭만으로 GitHub와 Jenkins 같은 타사 개발자 도구를 출시 프로세스에서 원하는 단계에 통합할 수 있습니다. 소스 제어, 빌드, 테스트, 배포에 타사 도구를 사용할 수 있습니다. 통합에 대해 자세히 알아보세요.
CodePipeline을 사용하여 자체 사용자 지정 시스템을 통합할 수 있습니다. 서버와 CodePipeline 오픈 소스 에이전트를 통합하여 파이프라인에 서버를 포함하도록 하는 사용자 지정 작업을 등록할 수 있습니다. 또한, CodePipeline Jenkins 플러그인을 사용하여 기존 구축 서버를 커스텀 작업으로 간편하게 등록할 수 있습니다.
CodePipeline을 사용하면 출시 워크플로 및 해당 단계와 작업을 지정하는 선언형 JSON 문서를 통해 파이프라인 구조를 정의할 수 있습니다. 이러한 문서는 기존 파이프라인을 업데이트할 수 있도록 하며, 새로운 파이프라인을 생성하기 위한 시작 템플릿도 제공합니다.
CodePipeline은 AWS Identity and Access Management(IAM)를 사용하여 누가 릴리스 워크플로를 변경 및 제어할 수 있는지 관리합니다. IAM 사용자, IAM 역할, SAML 통합 디렉터리를 통해 사용자에게 액세스 권한을 부여할 수 있습니다.
파이프라인에 영향을 주는 이벤트에 대한 알림을 생성할 수 있습니다. 알림은 Amazon Simple Notification Service(Amazon SNS) 알림 형식으로 수신됩니다. 각 알림에는 상태 메시지와 해당 알림이 생성되도록 한 이벤트가 발생한 리소스의 링크가 포함됩니다.