지속적 통합을 위한 최소한의 실행 가능한 파이프라인부터 시작
지속적 전달을 위한 조직의 여정은 최소한의 실행 가능한 파이프라인(MVP)에서 시작됩니다. 지속적 통합 및 지속적 전달 구현에서 설명한 것처럼 팀은 코드 스타일 검사를 수행하는 파이프라인이나 배포 없이 단일 단위 테스트를 수행하는 파이프라인 구현과 같은 매우 간단한 프로세스로 시작할 수 있습니다.
핵심 구성 요소는 지속적 전달 오케스트레이션 도구입니다. 이 파이프라인을 구축할 수 있도록 Amazon은 AWS CodeStar
AWS CodeStar 설정 페이지
AWS CodeStar는 통합 설정 프로세스, 도구, 템플릿 및 대시보드와 함께 AWS CodePipeline, AWS CodeBuild, AWS CodeCommit 및 AWS CodeDeploy을(를) 사용합니다. AWS CodeStar는 AWS에서 애플리케이션을 신속하게 개발, 빌드 및 배포하는 데 필요한 모든 것을 제공합니다. 이렇게 하면 코드 릴리스를 더 빨리 시작할 수 있습니다. 이미 AWS Management Console에 익숙하고 더 높은 수준의 제어를 원하는 고객은 선택한 개발자 도구를 수동으로 구성하고 필요에 따라 개별 AWS 서비스를 프로비저닝할 수 있습니다.
AWS CodeStar 대시보드
AWS CodePipeline은(는) 빠르고 안정적인 애플리케이션 및 인프라 업데이트를 위해 AWS CodeStar 또는 AWS Management Console을(를) 통해 사용할 수 있는 CI/CD 서비스입니다. AWS CodePipeline은(는) 사용자가 정의한 릴리스 프로세스 모델을 기반으로 코드가 변경될 때마다 코드를 빌드, 테스트 및 배포합니다. 이를 통해 기능과 업데이트를 안정적으로 신속하게 제공할 수 있습니다. GitHub 등 인기 있는 서드 파티 서비스를 위한 사전 제작 플러그 인을 사용하거나 사용자 지정 플러그 인을 릴리스 프로세스 단계에 통합함으로써 종단 간 솔루션을 손쉽게 구축할 수 있습니다. AWS CodePipeline은(는) 사용한 만큼만 비용을 지불하면 됩니다. 선수금이나 장기 약정을 적용하지 않습니다.
AWS CodeStar 및 AWS CodePipeline의 단계는 소스, 빌드, 스테이징 및 프로덕션 CI/CD 단계에 직접 매핑합니다. 지속적인 전달이 바람직하지만, 소스 리포지토리를 확인하고 빌드 작업을 수행하는 간단한 2단계 파이프라인부터 시작할 수 있습니다.
AWS CodePipeline - 소스 및 빌드 단계
AWS CodePipeline의 경우 소스 단계에서는 GitHub, AWS CodeCommit 및 Amazon Simple Storage Service(Amazon S3)의 입력을 받을 수 있습니다. 빌드 프로세스의 자동화는 지속적인 전달을 구현하고 지속적인 배포로 이동하기 위한 중요한 첫 단계입니다. 빌드 아티팩트를 생성할 때 사람이 개입하지 않으면 팀의 부담이 줄어들고 수동 패키징으로 인한 오류가 최소화되며 소모성 아티팩트를 더 자주 패키징할 수 있습니다.
AWS CodePipeline은(는) 완전 관리형 빌드 서비스인 AWS CodeBuild과(와) 원활하게 작동하므로 파이프라인 내에서 코드를 패키징하고 단위 테스트를 실행하는 빌드 단계를 더 쉽게 설정할 수 있습니다. AWS CodeBuild을(를) 사용하면 자체 빌드 서버를 프로비저닝, 관리 또는 확장할 필요가 없습니다. AWS CodeBuild은(는) 지속적으로 확장되고 여러 빌드를 동시에 처리하므로 빌드가 대기열에서 대기하지 않습니다. 또한 AWS CodePipeline은(는) Jenkins, Solano CI 및 TeamCity와 같은 빌드 서버와 통합됩니다.
예를 들어 다음 빌드 단계에서는 세 가지 작업(단위 테스트, 코드 스타일 확인 및 코드 메트릭 수집)이 병렬로 실행됩니다. AWS CodeBuild을(를) 사용하면 부하를 처리하기 위해 빌드 서버를 구축하거나 설치할 필요 없이 이러한 단계를 새 프로젝트로 추가할 수 있습니다.
AWS CodePipeline - 빌드 기능
그림(AWS CodePipeline - 소스 및 빌드 단계)에 표시된 소스 및 빌드 단계는 지원 프로세스 및 자동화와 함께 팀이 지속적인 통합으로 전환하는 데 도움이 됩니다. 이러한 완성도 수준에서 개발자는 주기적으로 빌드 및 테스트 결과에 주의를 기울여야 합니다. 또한 상태가 양호한 단위 테스트 기반을 개발하고 유지해야 합니다. 그 결과 CI/CD 파이프라인에 대한 팀 전체의 신뢰가 강화되고 채택을 가속화합니다.
AWS CodePipeline 단계