에서 파이프라인 생성 CodePipeline - AWS CodePipeline

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

에서 파이프라인 생성 CodePipeline

AWS CodePipeline 콘솔 또는 를 사용하여 AWS CLI 파이프라인을 생성할 수 있습니다. 파이프라인에는 두 개 이상의 단계가 포함되어야 합니다. 파이프라인의 첫 번째 단계는 소스 단계여야 합니다. 파이프라인에는 빌드 또는 배포 단계인 하나 이상의 다른 단계가 있어야 합니다.

파이프라인과 다른 AWS 지역에 있는 작업을 파이프라인에 추가할 수 있습니다. 교차 리전 작업이란 작업의 제공자를 나타내고 작업 유형 또는 제공자 유형이 파이프라인과 다른 AWS 지역에 있는 작업입니다. AWS 서비스 자세한 정보는 에 지역 간 액션 추가 CodePipeline을 참조하세요.

Amazon ECS를 배포 공급자로 사용하여 컨테이너 기반 애플리케이션을 빌드하고 배포하는 파이프라인을 만들 수도 있습니다. Amazon ECS를 사용하여 컨테이너 기반 애플리케이션을 배포하는 파이프라인을 만들기 전에 이미지 정의 파일 참조 단원의 설명에 따라 이미지 정의 파일을 생성해야 합니다.

CodePipeline 소스 코드 변경이 푸시될 때 변경 감지 메서드를 사용하여 파이프라인을 시작합니다. 이러한 감지 방법은 소스 유형을 기반으로 합니다.

  • CodePipeline Amazon CloudWatch Events를 사용하여 CodeCommit 소스 리포지토리와 브랜치 또는 S3 소스 버킷의 변경 사항을 감지합니다.

참고

콘솔을 사용하여 파이프라인을 생성하거나 편집하면 변경 감지 리소스가 자동으로 생성됩니다. AWS CLI를 사용하여 파이프라인을 생성하는 경우 추가 리소스를 직접 생성해야 합니다. 자세한 정보는 CodeCommit 소스 액션 및 EventBridge을 참조하세요.

파이프라인 생성(콘솔)

콘솔에서 파이프라인을 생성하려면 작업에 사용하는 공급자에 대한 정보와 소스 파일 위치를 제공해야 합니다.

콘솔을 사용하여 파이프라인을 생성하면 소스 단계와 다음 중 하나 또는 둘 다를 포함해야 합니다.

  • 빌드 단계.

  • 배포 단계.

파이프라인 마법사를 사용하면 단계 이름 (소스, 빌드, 스테이징) 이 CodePipeline 생성됩니다. 이러한 이름은 변경할 수 없습니다. 나중에 추가할 스테이지에 더 구체적인 이름 (예: BuildToGamma 또는 DeployToProd) 을 사용할 수 있습니다.

1단계: 파이프라인 생성 및 이름 지정
  1. 에 AWS Management Console 로그인하고 http://console.aws.amazon.com/codesuite/codepipeline/home 에서 CodePipeline 콘솔을 엽니다.

  2. [Welcome] 페이지에서 [Create pipeline]을 선택합니다.

    처음 사용하는 CodePipeline 경우 '시작하기'를 선택합니다.

  3. 1단계: 파이프라인 설정 선택 페이지의 파이프라인 이름에 파이프라인 이름을 입력합니다.

    단일 AWS 계정에서 특정 AWS 지역에서 생성하는 각 파이프라인은 고유한 이름을 가져야 합니다. 다른 리전의 파이프라인에 이름을 재사용해도 됩니다.

    참고

    파이프라인을 만든 후에는 해당 이름을 변경할 수 없습니다. 다른 제한에 대한 자세한 내용은 할당량 입력 AWS CodePipeline 섹션을 참조하십시오.

  4. 파이프라인 유형에서 다음 옵션 중 하나를 선택합니다. 파이프라인 유형은 특성과 가격이 다릅니다. 자세한 정보는 파이프라인 유형을 참조하세요.

    • V1 유형 파이프라인은 표준 파이프라인, 단계, 작업 수준 파라미터를 포함하는 JSON 구조를 가지고 있습니다.

    • V2 유형 파이프라인은 Git 태그의 트리거 및 파이프라인 수준 변수와 같은 추가 파라미터 지원과 함께 V1 유형과 구조가 동일합니다.

  5. 서비스 역할에서 다음 중 하나를 수행합니다.

    • IAM에서 새 서비스 역할을 생성할 수 있도록 CodePipeline 하려면 새 서비스 역할을 선택합니다.

    • Existing service role(기존 서비스 역할)을 선택하여 IAM에서 이미 생성된 서비스 역할을 사용합니다. 역할 ARN의 목록에서 서비스 역할 ARN을 선택합니다.

    참고

    서비스 역할이 생성된 시기에 따라 추가 AWS 서비스지원을 위해 서비스 역할 권한을 업데이트해야 할 수 있습니다. 자세한 내용은 CodePipeline 서비스 역할에 권한 추가을 참조하세요.

    서비스 역할 및 해당 정책 설명에 대한 자세한 내용은 CodePipeline 서비스 역할 관리 섹션을 참조하십시오.

  6. (선택 사항) 변수에서 변수 추가를 선택하여 파이프라인 수준에서 변수를 추가합니다.

    파이프라인 수준에서 변수에 대한 자세한 정보는 Variables을 참조하세요. 파이프라인 실행 시 전달되는 파이프라인 수준 변수에 대한 자습서는 자습서: 파이프라인 수준 변수 사용을 참조하세요.

    참고

    파이프라인 수준에서 변수를 추가하는 것은 선택 사항이지만, 값이 제공되지 않은 파이프라인 수준의 변수로 지정된 파이프라인의 경우 파이프라인 실행이 실패합니다.

  7. (선택 사항) 고급 설정을 확장합니다.

  8. 아티팩트 스토어에서 다음 중 하나를 수행합니다.

    1. 기본 위치를 선택하면 파이프라인용으로 선택한 파이프라인의 기본 아티팩트 스토어 (예: 기본값으로 지정된 S3 아티팩트 버킷) AWS 리전 를 사용할 수 있습니다.

    2. 파이프라인과 동일한 리전에 S3 아티팩트 버킷과 같이 이미 아티팩트 스토어가 있는 경우 Custom location(사용자 지정 위치)을 선택합니다. [Bucket]에서 버킷 이름을 선택합니다.

    참고

    이는 소스 코드에 대한 소스 버킷이 아닙니다. 이 파이프라인은 아티팩트 스토어입니다. S3 버킷과 같은 개별 아티팩트 스토어는 각 파이프라인에 필요합니다. 파이프라인을 생성하거나 편집할 때는 파이프라인 지역에 아티팩트 버킷이 하나 있고 작업을 실행 중인 AWS 지역당 하나의 아티팩트 버킷이 있어야 합니다.

    자세한 내용은 입력 및 출력 아티팩트CodePipeline 파이프라인 구조 참조 섹션을 참조하세요.

  9. [Encryption key]에서 다음 중 하나를 수행합니다.

    1. CodePipeline 기본값을 사용하여 파이프라인 아티팩트 스토어 (S3 버킷) 의 데이터를 AWS KMS key 암호화하려면 기본 관리 키를 선택합니다. AWS

    2. 고객 관리형 키를 사용하여 파이프라인 아티팩트 스토어(S3 버킷)의 데이터를 암호화하려면 고객 관리형 키를 선택합니다. 키 ID, 키 ARN 또는 별칭 ARN을 선택합니다.

  10. 다음을 선택합니다.

2단계: 소스 단계 생성
  • 단계 2: 소스 단계 추가 페이지소스 공급자에서 소스 코드가 저장된 리포지토리의 유형을 선택하고 필수 옵션을 지정한 다음, 다음 단계를 선택합니다.

    • 비트버킷 클라우드, GitHub (버전 2), GitHub 엔터프라이즈 서버, GitLab .com 또는 자체 관리형: GitLab

      1. 연결에서 기존 연결을 선택하거나 새로 생성합니다. GitHub 소스 작업에 대한 연결을 만들거나 관리하려면 을 참조하십시오. GitHub 연결

      2. 파이프라인의 소스 위치로 사용할 리포지토리를 선택합니다.

        트리거를 추가하거나 트리거 유형에 대한 필터를 선택하여 파이프라인을 시작하세요. 트리거 작업에 대한 자세한 내용은 을 참조하십시오코드 푸시 또는 풀 요청 시 트리거 필터링. Glog 패턴을 사용한 필터링에 대한 자세한 내용은 구문에서 glob 패턴 작업을 참조하세요.

      3. 출력 아티팩트 형식에서 아티팩트의 형식을 선택합니다.

        • 기본 방법을 사용하여 GitHub 액션의 출력 아티팩트를 저장하려면 default를 선택합니다CodePipeline. 작업은 GitHub 리포지토리의 파일에 액세스하고 파이프라인 객체 저장소의 ZIP 파일에 객체를 저장합니다.

        • 다운스트림 작업이 Git 명령을 직접 수행할 수 있도록 리포지토리에 대한 URL 참조가 포함된 JSON 파일을 저장하려면 Full clone(전체 복제)을 선택합니다. 이 옵션은 다운스트림 작업에서만 사용할 수 CodeBuild 있습니다.

          이 옵션을 선택하는 경우 에 나와 있는 것처럼 CodeBuild 프로젝트 서비스 역할에 대한 권한을 업데이트해야 합니다. 문제 해결 CodePipeline 전체 복제 옵션을 사용하는 방법을 보여주는 자습서는 튜토리얼: GitHub 파이프라인 소스와 함께 전체 클론 사용을 참조하세요.

    • Amazon S3의 경우:

      1. Amazon S3 위치에서 버전 관리 기능이 활성화된 버킷에 S3 버킷 이름 및 객체 경로를 제공합니다. 버킷 이름과 경로의 형식은 다음과 같습니다.

        s3://bucketName/folderName/objectName
        참고

        Amazon S3가 파이프라인의 소스 공급자인 경우, 소스 파일을 .zip 하나로 압축하고 그 .zip을 소스 버킷에 업로드할 수 있습니다. 압축이 풀린 단일 파일을 업로드할 수도 있지만 .zip 파일을 예상하는 다운스트림 작업은 실패합니다.

      2. S3 원본 버킷을 선택한 후 Amazon CloudWatch Events 규칙과 이 파이프라인에 생성할 AWS CloudTrail 트레일을 CodePipeline 생성합니다. [Change detection options] 아래에서 기본값을 적용합니다. CodePipeline 이를 통해 Amazon CloudWatch Events를 사용하고 새 파이프라인의 변경 사항을 AWS CloudTrail 감지할 수 있습니다. 다음을 선택합니다.

    • AWS CodeCommit의 경우:

      • 리포지토리 이름에서 파이프라인의 소스 위치로 사용할 CodeCommit 리포지토리 이름을 선택합니다. [Branch name]의 드롭다운 목록에서 사용하려는 브랜치를 선택합니다.

      • 출력 아티팩트 형식에서 아티팩트의 형식을 선택합니다.

        • 기본 방법을 사용하여 CodeCommit 작업의 출력 아티팩트를 저장하려면 기본값을 선택합니다CodePipeline. 작업은 CodeCommit 리포지토리의 파일에 액세스하고 파이프라인 객체 저장소의 ZIP 파일에 객체를 저장합니다.

        • 다운스트림 작업이 Git 명령을 직접 수행할 수 있도록 리포지토리에 대한 URL 참조가 포함된 JSON 파일을 저장하려면 Full clone(전체 복제)을 선택합니다. 이 옵션은 다운스트림 작업에서만 사용할 수 CodeBuild 있습니다.

          이 옵션을 선택하는 경우 와 같이 CodeBuild 서비스 역할에 codecommit:GitPull 권한을 추가해야 합니다. CodeCommit소스 작업에 대한 CodeBuild GitClone 권한 추가 또한 에서와 같이 CodePipeline 서비스 역할에 codecommit:GetRepository 권한을 추가해야 CodePipeline 서비스 역할에 권한 추가 합니다. 전체 복제 옵션을 사용하는 방법을 보여주는 자습서는 튜토리얼: GitHub 파이프라인 소스와 함께 전체 클론 사용을 참조하세요.

      • CodeCommit 리포지토리 이름과 브랜치를 선택하면 이 파이프라인에 생성할 Amazon CloudWatch Events 규칙을 보여주는 메시지가 변경 감지 옵션에 표시됩니다. [Change detection options] 아래에서 기본값을 적용합니다. 이를 통해 Amazon CodePipeline CloudWatch Events를 사용하여 새 파이프라인의 변경 사항을 감지할 수 있습니다.

    • Amazon ECR의 경우:

      • 리포지토리 이름에서 Amazon ECR 리포지토리의 이름을 선택합니다.

      • 이미지 이름과 버전이 LATEST와 다른 경우 이미지 태그에서 지정합니다.

      • 출력 아티팩트에서 출력 아티팩트 기본값 (예: 다음 단계에서 MyApp 사용하려는 이미지 이름 및 리포지토리 URI 정보 포함) 을 선택합니다.

        Amazon ECR 소스 스테이지가 포함된 CodeDeploy 블루그린 배포로 Amazon ECS용 파이프라인을 생성하는 방법에 대한 자습서는 을 참조하십시오. 자습서: Amazon ECR 소스 및 ECS에서 배포할 때 사용하는 파이프라인 생성 CodeDeploy

      파이프라인에 Amazon ECR 소스 단계를 포함하면 소스 작업이 변경 사항을 커밋할 때 imageDetail.json 파일을 출력 아티팩트로 생성합니다. imageDetail.json 파일에 대한 자세한 내용은 Amazon ECS 블루/그린 배포 작업을 위한 imageDetail.json 파일 단원을 참조하십시오.

    참고

    객체 및 파일 유형은 사용하려는 배포 시스템 (예: Elastic Beanstalk 또는) 과 호환되어야 합니다. CodeDeploy 지원되는 파일 형식에는 .zip, .tar, .tgz 파일 등이 있습니다. Elastic Beanstalk에 지원되는 컨테이너 형식에 대한 자세한 내용은 Elastic Beanstalk 환경 사용자 지정 및 구성지원 플랫폼 단원을 참조하세요. 수정 버전 배포에 대한 자세한 내용은 애플리케이션 수정 버전 업로드 CodeDeploy 및 수정 버전 준비를 참조하십시오.

3단계: 빌드 단계 생성

배포 단계를 생성하려는 경우 이 단계는 선택 사항입니다.

  • 3단계: 빌드 단계 추가 페이지에서 다음 중 하나를 수행한 다음 Next(다음)를 선택합니다.

    • 배포 단계를 생성하려는 경우 Skip build stage(빌드 단계 건너뛰기)를 선택합니다.

    • 빌드 공급자에서 빌드 서비스의 사용자 지정 작업 공급자를 선택하고 그 공급자에 대한 구성 세부 정보를 입력합니다. Jenkins를 빌드 공급자로 추가하는 방법의 예는 자습서: 4단계 파이프라인 생성 섹션을 참조하십시오.

    • 빌드 공급자에서 AWS CodeBuild를 선택합니다.

      지역에서 리소스가 있는 AWS 지역을 선택합니다. 지역 필드는 이 작업 유형 및 제공자 유형에 대해 AWS 리소스가 생성되는 위치를 지정합니다. 이 필드는 작업 공급자가 AWS 서비스인 작업에 대해서만 표시합니다. Region 필드는 파이프라인과 동일한 AWS 지역을 기본값으로 사용합니다.

      프로젝트 이름에 빌드 프로젝트를 선택합니다. 에서 이미 빌드 프로젝트를 만든 CodeBuild 경우 해당 프로젝트를 선택하세요. 또는 에서 CodeBuild 빌드 프로젝트를 만든 다음 이 작업으로 돌아갈 수 있습니다. 사용 CodeBuild CodeBuild설명서에서 사용하는 파이프라인 만들기의 지침을 따르세요.

      환경 변수에서 빌드 작업에 CodeBuild 환경 변수를 추가하려면 환경 변수 추가를 선택합니다. 각 변수는 세 개의 항목으로 구성됩니다.

      • 이름에 환경 변수의 이름 또는 키를 입력합니다.

      • 에 환경 변수의 값을 입력합니다. 변수 유형으로 매개변수를 선택하는 경우 이 값이 AWS Systems Manager 매개변수 저장소에 이미 저장한 매개변수의 이름이어야 합니다.

        참고

        민감한 값, 특히 AWS 자격 증명을 저장할 때는 환경 변수를 사용하지 않는 것이 좋습니다. CodeBuild 콘솔 또는 AWS CLI를 사용하는 경우 환경 변수는 일반 텍스트로 표시됩니다. 민감한 값의 경우 대신 파라미터 유형을 사용하는 것이 좋습니다.

      • (선택 사항) 유형에 환경 변수의 유형을 입력합니다. 유효한 값은 일반 텍스트 또는 파라미터입니다. 기본값은 일반 텍스트입니다.

      (선택 사항) 빌드 유형에서 다음 중 하나를 선택합니다.

      • 단일 빌드 작업 실행으로 각 빌드를 실행하려면 단일 빌드를 선택합니다.

      • 동일한 빌드 작업 실행에서 여러 빌드를 실행하려면 배치 빌드를 선택합니다.

      (선택 사항) 배치 빌드를 실행하도록 선택한 경우 배치의 모든 아티팩트를 단일 위치로 결합을 선택하여 모든 빌드 아티팩트를 단일 출력 아티팩트에 배치할 수 있습니다.

4단계: 배포 단계 생성

빌드 단계를 이미 만든 경우 이 단계는 선택 사항입니다.

  • 4단계: 배포 단계 추가 페이지에서 다음 중 하나를 수행한 다음 Next(다음)를 선택합니다.

    • 이전 단계에서 빌드 단계를 만든 경우 Skip deploy stage(배포 단계 건너뛰기)를 선택합니다.

      참고

      빌드 단계를 이미 건너뛴 경우 이 옵션이 표시되지 않습니다.

    • 배포 공급자에서 배포 공급자에 대해 생성한 사용자 지정 작업을 선택합니다.

      지역에서는 지역 간 작업의 경우에만 리소스가 AWS 생성되는 지역을 선택합니다. 리전 필드는 이 작업 유형 및 공급자 유형에 대해 AWS 리소스가 생성되는 위치를 지정합니다. 이 필드는 작업 공급자가 AWS 서비스인 작업에 대해서만 표시합니다. Region 필드는 파이프라인과 동일한 AWS 지역을 기본값으로 사용합니다.

    • 배포 공급자에서 다음과 같이 기본 공급자 필드를 사용 가능합니다.

      • CodeDeploy

        애플리케이션 이름에서 기존 CodeDeploy 애플리케이션의 이름을 입력하거나 선택합니다. Deployment group(배포 그룹)에 애플리케이션의 배포 그룹 이름을 입력합니다. 다음을 선택합니다. CodeDeploy콘솔에서 애플리케이션, 배포 그룹 또는 둘 다를 생성할 수도 있습니다.

      • AWS Elastic Beanstalk

        애플리케이션 이름에서 기존 Elastic Beanstalk 애플리케이션 이름을 입력하거나 선택합니다. Environment name(환경 이름)에 애플리케이션의 환경을 입력합니다. 다음을 선택합니다. Elastic Beanstalk 콘솔에서 애플리케이션이나 환경을 생성하거나 둘 다 생성할 수 있습니다.

      • AWS OpsWorks Stacks

        사용하려는 스택 이름을 Stack(스택)에 입력하거나 선택합니다. 계층에서 대상 인스턴스가 속하는 레이어를 선택합니다. [App]에서 업데이트 및 배포하려는 애플리케이션을 선택합니다. 앱을 생성해야 하는 경우 AWS OpsWorks에서 새로 생성을 선택합니다.

        스택 및 계층에 AWS OpsWorks애플리케이션을 추가하는 방법에 대한 자세한 내용은 AWS OpsWorks 사용 설명서의 앱 추가를 참조하십시오.

        AWS OpsWorks 레이어에서 실행하는 코드의 소스로 간단한 파이프라인을 사용하는 방법에 대한 end-to-end 예제는 CodePipeline 함께 사용을 참조하십시오 AWS OpsWorks Stacks. CodePipeline

      • AWS CloudFormation

        다음 중 하나를 수행하십시오.

        • 작업 모드에서 스택 생성 또는 업데이트를 선택하고 스택 이름과 템플릿 파일 이름을 입력한 다음 맡을 역할의 이름을 선택합니다. AWS CloudFormation 선택 사항으로 구성 파일의 이름을 입력한 다음 IAM 기능 옵션을 선택할 수도 있습니다.

        • 작업 모드에서 변경 세트 생성 또는 바꾸기를 선택하고 스택 이름과 변경 세트 이름을 입력한 다음 AWS CloudFormation 맡을 역할의 이름을 선택합니다. 선택 사항으로 구성 파일의 이름을 입력한 다음 IAM 기능 옵션을 선택할 수도 있습니다.

        의 파이프라인에 AWS CloudFormation 기능을 통합하는 방법에 대한 자세한 내용은 AWS CloudFormation 사용 설명서의 지속적 전달을 CodePipeline 참조하십시오. CodePipeline

      • Amazon ECS

        클러스터 이름에 기존 Amazon ECS 클러스터의 이름을 입력하거나 선택합니다. Service name(서비스 이름)에서 클러스터에서 실행 중인 서비스의 이름을 입력하거나 선택합니다. 클러스터와 서비스를 생성할 수도 있습니다. 이미지 파일 이름에 서비스의 컨테이너와 이미지를 설명하는 이미지 정의 파일의 이름을 입력합니다.

        참고

        Amazon ECS 배포 작업에서는 imagedefinitions.json 파일을 배포 작업에 대한 입력으로 사용해야 합니다. 파일의 기본 파일 이름은 imagedefinitions.json입니다. 다른 파일 이름을 사용하려면 파이프라인 배포 단계를 만들 때 이름을 제공해야 합니다. 자세한 정보는 Amazon ECS 표준 배포 작업을 위한 imagedefinitions.json 파일을 참조하세요.

        다음을 선택하세요.

        참고

        Amazon ECS 클러스터가 두 개 이상의 인스턴스로 구성되어 있는지 확인하세요. Amazon ECS 클러스터에는 적어도 두 개의 인스턴스가 있어야 하며, 하나는 기본 인스턴스로 유지되고 다른 하나는 새 배포를 수용하는 데 사용됩니다.

        파이프라인으로 컨테이너 기반 애플리케이션을 배포하는 방법에 대한 튜토리얼은 튜토리얼: 지속적 배포를 참조하십시오. CodePipeline

      • Amazon ECS(블루/그린)

        CodeDeploy 애플리케이션 및 배포 그룹, Amazon ECS 작업 정의, AppSpec 파일 정보를 입력하고 다음을 선택합니다.

        참고

        Amazon ECS(블루/그린) 작업을 수행하려면 배포 작업의 입력 아티팩트로 imageDetail.json 파일이 필요합니다. Amazon ECR 소스 작업이 이 파일을 작성하므로 Amazon ECR 소스 작업이 있는 파이프라인은 imageDetail.json 파일을 제공할 필요가 없습니다. 자세한 정보는 Amazon ECS 블루/그린 배포 작업을 위한 imageDetail.json 파일을 참조하세요.

        를 사용하여 Amazon ECS 클러스터에 블루그린 배포를 위한 파이프라인을 생성하는 방법에 대한 자습서는 을 참조하십시오. CodeDeploy 자습서: Amazon ECR 소스 및 ECS에서 배포할 때 사용하는 파이프라인 생성 CodeDeploy

      • AWS Service Catalog

        콘솔에서 필드를 사용하여 구성을 지정하려면 Enter deployment configuration(배포 구성 입력)을 선택하고 별도의 구성 파일이 있는 경우 구성 파일을 선택합니다. 제품 및 구성 정보를 입력하고 Next(다음)를 선택합니다.

        파이프라인을 통해 Service Catalog에 제품 변경 사항을 배포하는 방법에 대한 자습서는 자습서: Service Catalog에 배포하는 파이프라인 생성 단원을 참조하세요.

      • Alexa Skills Kit

        Alexa Skill ID에 Alexa Skill의 스킬 ID를 입력합니다. Client ID(클라이언트 ID)Client secret(클라이언트 암호)에서 Login with Amazon(LWA) 보안 프로필을 사용하여 생성한 자격 증명을 입력합니다. Refresh token(새로 고침 토큰)에서 새로 고침 토큰을 검색하기 위해 ASK CLI 명령을 사용하여 생성한 새로 고침 토큰을 입력합니다. 다음을 선택합니다.

        파이프라인에 Alexa Skill을 배포하고 LWA 자격 증명을 생성하는 방법에 대한 자습서는 자습서: Amazon Alexa Skill을 배포하는 파이프라인 생성 단원을 참조하십시오.

      • Amazon S3

        [Bucket]에 사용하려는 S3 버킷 이름을 입력합니다. 배포 단계의 입력 아티팩트가 ZIP 파일인 경우 Extract file before deploy(배포 전 파일 추출)를 선택합니다. Extract file before deploy(배포 전 파일 추출)가 선택된 경우, 선택적으로 ZIP 파일의 압축을 해제할 Deployment path(배포 경로) 값을 입력할 수 있습니다. 선택되지 않은 경우, S3 object key(S3 객체 키)에 값을 입력해야 합니다.

        참고

        대부분의 소스 및 빌드 단계 출력 아티팩트는 압축됩니다. Amazon S3를 제외한 모든 파이프라인 소스 공급자는 소스 파일을 다음 작업의 입력 아티팩트로 제공하기 전에 압축합니다.

        (선택 사항) 미리 준비된 ACL에 Amazon S3에 배포된 객체에 적용할 미리 준비된 ACL을 입력합니다.

        참고

        표준 ACL을 적용하면 객체에 적용된 기존 ACL을 덮어씁니다.

        (선택 사항) 캐시 제어에는 버킷에서 객체를 다운로드하는 요청에 대한 캐시 제어 파라미터를 지정합니다. 유효한 값 목록의 경우 HTTP 작업에 대한 Cache-Control 헤더 필드를 확인합니다. 캐시 제어에 여러 값을 입력하려면 각 값 사이에 쉼표를 사용합니다. 이 예제와 같이 각 쉼표 뒤에 공백을 추가할 수 있습니다(선택 사항).

        앞의 예제 항목은 CLI에 다음과 같이 표시됩니다.

        "CacheControl": "public, max-age=0, no-transform"

        다음을 선택합니다.

        Amazon S3 배포 작업 공급자를 통한 파이프라인 생성에 대한 자습서는 자습서: Amazon S3를 배포 공급자로 사용하는 파이프라인 생성 단원을 참조하세요.

1단계: 파이프라인 검토
  • 5단계: 검토 페이지에서 파이프라인 구성을 검토한 다음, Create pipeline(파이프라인 생성)을 선택하여 파이프라인을 생성하거나 Previous(이전)를 선택하여 되돌아간 다음 선택 사항을 편집합니다. 파이프라인을 생성하지 않고 마법사를 종료하려면 [Cancel]을 선택합니다.

이제 파이프라인을 생성했으므로 콘솔에서 볼 수 있습니다. 파이프라인이 생성된 후 실행을 시작합니다. 자세한 정보는 에서 파이프라인 및 세부 정보 보기 CodePipeline을 참조하세요. 파이프라인 변경에 대한 자세한 내용은 에서 파이프라인 편집 CodePipeline 단원을 참조하십시오.

파이프라인 생성(CLI)

를 사용하여 파이프라인을 AWS CLI 생성하려면 JSON 파일을 생성하여 파이프라인 구조를 정의한 다음 파라미터와 함께 명령을 실행합니다. create-pipeline --cli-input-json

중요

를 사용하여 파트너 작업이 포함된 파이프라인을 생성할 수 없습니다. AWS CLI 대신 CodePipeline 콘솔을 사용해야 합니다.

파이프라인 구조에 대한 자세한 내용은 API Reference의 파이프라인 생성 CodePipeline 파이프라인 구조 참조 및 섹션을 참조하십시오. CodePipeline

JSON 파일을 생성하려면 샘플 파이프라인 JSON 파일을 사용하고, 이를 편집한 다음 create-pipeline 명령을 실행할 때 해당 파일을 호출합니다.

사전 조건:

에서 생성한 서비스 역할의 ARN이 필요합니다. CodePipeline 시작하기 CodePipeline 명령을 실행할 때 파이프라인 JSON 파일의 CodePipeline 서비스 역할 ARN을 사용합니다. create-pipeline 서비스 역할 생성에 대한 자세한 내용은 CodePipeline 서비스 역할 생성을 참조하십시오. 콘솔과 달리 에서 create-pipeline 명령을 실행하면 CodePipeline 서비스 역할을 자동으로 생성할 수 있는 옵션이 AWS CLI 없습니다. 서비스 역할이 이미 있어야 합니다.

파이프라인의 아티팩트가 저장되는 S3 버킷의 이름이 필요합니다. 이 버킷은 파이프라인과 동일한 리전에 있어야 합니다. create-pipeline 명령을 실행할 때 파이프라인 JSON 파일에서 버킷 이름을 사용합니다. 콘솔과 달리 에서 create-pipeline 명령을 실행하면 아티팩트를 저장하기 위한 S3 버킷이 생성되지 AWS CLI 않습니다. 버킷은 이미 존재해야 합니다.

참고

get-pipeline 명령을 사용하여 해당 파이프라인의 JSON 구조에 대한 복사본을 가져온 다음 일반 텍스트 편집기에서 해당 구조를 수정할 수 있습니다.

주제
    JSON 파일을 생성하려면
    1. 터미널((Linux, macOS 또는 Unix) 또는 명령 프롬프트(Windows)에서 로컬 디렉터리의 새 텍스트 파일을 생성합니다.

    2. (선택 사항) 파이프라인 수준에서 변수를 하나 이상 추가할 수 있습니다. CodePipeline 작업 구성 시 이 값을 참조할 수 있습니다. 파이프라인을 생성할 때 변수 이름과 값을 추가할 수 있으며 콘솔에서 파이프라인을 시작할 때 값을 할당하도록 선택할 수도 있습니다.

      참고

      파이프라인 수준에서 변수를 추가하는 것은 선택 사항이지만, 값이 제공되지 않은 파이프라인 수준의 변수로 지정된 파이프라인의 경우 파이프라인 실행이 실패합니다.

      파이프라인 수준의 변수는 파이프라인 런타임에 확인됩니다. 모든 변수는 변경할 수 없습니다. 즉, 값을 할당한 후에는 업데이트할 수 없습니다. 확인된 값이 있는 파이프라인 수준의 변수는 각 실행의 기록에 표시됩니다.

      파이프라인 구조의 변수 속성을 사용하여 파이프라인 수준에서 변수를 제공합니다. 다음 예제에서 변수 Variable1 값은 Value1입니다.

      "variables": [ { "name": "Timeout", "defaultValue": "1000", "description": "description" } ]

      이 구조를 파이프라인 JSON이나 다음 단계의 예제 JSON에 추가합니다. 네임스페이스 정보를 비롯한 변수에 대한 자세한 내용은 Variables 단원을 참조하세요.

    3. 일반 텍스트 편집기에서 파일을 열고 값을 편집하여 생성하려는 구조를 반영합니다. 적어도 파이프라인의 이름은 변경해야 합니다. 또한 변경을 하고자 하는지 고려해야 합니다.

      • 이 파이프라인에 대한 아티팩트가 저장되는 S3 버킷입니다.

      • 코드에 있는 소스 위치입니다.

      • 배포 공급자입니다.

      • 원하는 코드 배포 방법입니다.

      • 파이프라인의 태그입니다.

      다음의 두 단계로 이루어진 샘플 파이프라인 구조에는 파이프라인 변경을 고려해야 하는 값이 강조되어 있습니다. 파이프라인에는 3개 이상의 단계가 포함되어 있을 가능성이 큽니다.

      { "pipeline": { "roleArn": "arn:aws:iam::80398EXAMPLE::role/AWS-CodePipeline-Service", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "awscodepipeline-demobucket-example-date", "S3ObjectKey": "ExampleCodePipelineSampleBundle.zip", "PollForSourceChanges": "false" }, "runOrder": 1 } ] }, { "name": "Staging", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Deploy-CodeDeploy-Application", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "codepipeline-us-east-2-250656481468" }, "name": "MyFirstPipeline", "version": 1, "variables": [ { "name": "Timeout", "defaultValue": "1000", "description": "description" } ] }, "triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "tags": { "includes": [ "v1" ], "excludes": [ "v2" ] } } ] } } ] "metadata": { "pipelineArn": "arn:aws:codepipeline:us-east-2:80398EXAMPLE:MyFirstPipeline", "updated": 1501626591.112, "created": 1501626591.112 }, "tags": [{ "key": "Project", "value": "ProjectA" }] }

      이 예제는 파이프라인에 Project 태그 키와 ProjectA 값을 포함하여 파이프라인에 태그 지정을 추가합니다. 에서 CodePipeline 리소스에 태그를 지정하는 방법에 대한 자세한 내용은 을 참조하십시오 리소스에 태그 지정.

      JSON 파일의 PollForSourceChanges 파라미터는 다음과 같이 설정되어야 합니다.

      "PollForSourceChanges": "false",

      CodePipeline Amazon CloudWatch Events를 사용하여 CodeCommit 소스 리포지토리와 브랜치 또는 S3 소스 버킷의 변경 사항을 감지합니다. 다음 단계에는 파이프라인에 대해 이러한 리소스를 수동으로 생성하기 위한 설명이 포함되어 있습니다. 플래그를 false로 설정하면 정기적 확인이 비활성화되어 권장되는 변경 감지 방법을 사용할 때 필요하지 않습니다.

    4. 파이프라인과 다른 리전에서 빌드, 테스트, 배포 작업을 생성하려면 파이프라인 구조에 다음을 추가해야 합니다. 지침은 에 지역 간 액션 추가 CodePipeline을 참조하세요.

      • 작업 파이프라인 구조에 Region 파라미터를 추가합니다.

      • artifactStores파라미터를 사용하여 작업이 있는 각 AWS 지역의 아티팩트 버킷을 지정합니다.

    5. 이 구조에 만족하는 경우 pipeline.json과 같은 이름으로 파일을 저장합니다.

    파이프라인을 생성하려면
    1. create-pipeline 명령을 실행하고 --cli-input-json 파라미터를 사용하여 앞에서 생성한 JSON 파일을 지정합니다.

      JSON의 값으로 MySecondPipeline"“라는 MySecondPipeline이름을 포함하는 pipeline.json이라는 이름의 JSON 파일을 사용하여 이름이 지정된 파이프라인을 만들려면 명령어는 다음과 같아야 합니다. name

      aws codepipeline create-pipeline --cli-input-json file://pipeline.json
      중요

      파일 이름 앞에 file://를 포함해야 합니다. 이 명령에 필수적입니다.

      이 명령은 사용자가 생성한 전체 파이프라인의 구조를 반환합니다.

    2. 파이프라인을 보려면 CodePipeline 콘솔을 열고 파이프라인 목록에서 선택하거나 명령어를 사용하십시오. get-pipeline-state 자세한 정보는 에서 파이프라인 및 세부 정보 보기 CodePipeline을 참조하세요.

    3. CLI를 사용하여 파이프라인을 생성하는 경우 파이프라인에 대해 권장되는 변경 감지 리소스를 수동으로 생성해야 합니다.