기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS를 지원하지 않는 AWS 지역에 파이프라인을 생성하십시오. CodePipeline
작성자: Anand Krishna Varanasi(AWS)
환경: PoC 또는 파일럿 | 기술: 인프라, DevOps | |
AWS 서비스: AWS CodeBuild, AWS CodeCommit, AWS CodeDeploy, AWS CodePipeline |
요약
CodePipeline AWS는 Amazon Web Services (AWS) 의 DevOps 도구 세트에 속하는 지속적 전송 (CD) 오케스트레이션 서비스입니다. 다양한 소스 (예: 버전 제어 시스템 및 스토리지 솔루션), AWS 및 AWS 파트너의 지속적 통합 (CI) 제품 및 서비스, 오픈 소스 제품과 통합되어 빠른 애플리케이션 및 인프라 배포를 위한 end-to-end 워크플로 서비스를 제공합니다.
하지만 모든 AWS 지역에서 지원되는 CodePipeline 것은 아니며, AWS CI/CD 서비스를 연결하는 보이지 않는 오케스트레이터가 있으면 유용합니다. 이 패턴은 AWS, AWS CodeBuild, AWS와 같은 AWS CI/CD 서비스를 사용하여 아직 지원되지 않는 AWS 지역에서 end-to-end 워크플로 파이프라인을 구현하는 방법을 설명합니다. CodePipeline CodeCommit CodeDeploy
사전 조건 및 제한 사항
사전 조건
활성 상태의 AWS 계정
Cloud Development Kit(CDK) CLI 버전 2.28 이상
아키텍처
대상 기술 스택
다음 다이어그램은 아프리카 (케이프타운) 지역과 같이 지원하지 CodePipeline 않는 지역에서 생성된 파이프라인을 보여줍니다. 개발자가 CodeDeploy 구성 파일 (배포 라이프사이클 후크 스크립트라고도 함) 을 에서 호스팅하는 Git 리포지토리로 푸시합니다. CodeCommit (이 패턴과 함께 제공된 GitHub 리포지토리를
CodeDeploy 구성 파일은 파이프라인 소스 단계의 CodeCommit 일부로 가져와 파이프라인으로 전송됩니다. CodeBuild
다음 단계에서는 다음 CodeBuild 작업을 수행합니다.
애플리케이션 소스 코드 TAR 파일을 다운로드합니다. AWS Systems Manager의 기능인 파라미터 스토어를 사용하여 이 파일의 이름을 구성할 수 있습니다.
CodeDeploy 구성 파일을 다운로드합니다.
애플리케이션 유형별 애플리케이션 소스 코드와 CodeDeploy 구성 파일의 통합 아카이브를 생성합니다.
결합된 아카이브를 사용하여 Amazon Elastic Compute Cloud (Amazon EC2) 인스턴스에 CodeDeploy 배포를 시작합니다.
![지원되지 않는 AWS 리전에서 파이프라인 생성](images/pattern-img/e27750de-b597-424e-b5bf-4d58dc9b60cc/images/95fc815e-a762-4142-b0fd-2a716823e498.png)
도구
서비스
CodeBuildAWS는 소스 코드를 컴파일하고, 단위 테스트를 실행하고, 배포할 준비가 된 아티팩트를 생성하는 데 도움이 되는 완전관리형 빌드 서비스입니다.
CodeCommitAWS는 자체 소스 제어 시스템을 관리할 필요 없이 Git 리포지토리를 비공개로 저장하고 관리할 수 있는 버전 제어 서비스입니다.
AWS는 Amazon EC2 또는 온프레미스 인스턴스, AWS Lambda 함수 또는 Amazon Elastic Container Service (Amazon ECS) 서비스로의 배포를 CodeDeploy 자동화합니다.
AWS는 소프트웨어 릴리스의 여러 단계를 신속하게 모델링 및 구성하고 소프트웨어 변경 사항을 지속적으로 릴리스하는 CodePipeline 데 필요한 단계를 자동화하도록 지원합니다.
AWS Cloud Development Kit(AWS CDK)는 AWS 클라우드 인프라를 코드로 정의하고 프로비저닝하는 데 도움이 되는 소프트웨어 개발 프레임워크입니다.
코드
이 패턴의 코드는 GitHub CodePipeline 미지원 지역
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
CDK CLI를 설치합니다. | 지침은 CDK 설명서를 참조하세요. | AWS DevOps |
Git 클라이언트를 설치합니다. | 커밋을 만들려면 로컬 컴퓨터에 설치된 Git 클라이언트를 사용하여 커밋을 저장소로 푸시하면 됩니다. CodeCommit Git 클라이언트를 CodeCommit 사용하여 설정하려면 설명서를 참조하십시오. CodeCommit | AWS DevOps |
npm을 설치합니다. | npm 패키지 매니저를 설치합니다. 자세한 내용은 npm 설명서 | AWS DevOps |
작업 | 설명 | 필요한 기술 |
---|---|---|
코드 리포지토리를 복제합니다. | 다음 명령을 실행하여 GitHub CodePipeline 지원되지 않는 지역
| DevOps 엔지니어 |
cdk.json에서 파라미터를 설정합니다. |
여기서 각 항목은 다음과 같습니다.
| AWS DevOps |
CDK 구성 라이브러리를 설정합니다. | 복제된 GitHub 리포지토리에서 다음 명령을 사용하여 AWS CDK 구성 라이브러리를 설치하고, 애플리케이션을 구축하고, 합성하여 애플리케이션용 AWS CloudFormation 템플릿을 생성합니다.
| AWS DevOps |
샘플 CDK 애플리케이션을 배포합니다. | 지원되지 않는 리전(예:
| AWS DevOps |
작업 | 설명 | 필요한 기술 |
---|---|---|
애플리케이션용 CI/CD를 설정합니다. |
여기서 리포지토리 이름과 리전은 | AWS DevOps |
작업 | 설명 | 필요한 기술 |
---|---|---|
배포 지침으로 파이프라인을 테스트합니다. | GitHub CodePipeline 미지원 지역 | AWS DevOps |
관련 리소스
시작하기(CDK 설명서)
Cloud Development Kit(CDK) 소개
(AWS 워크숍 스튜디오)