기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
이미지 정의 파일 참조
이 단원은 참조용입니다. 컨테이너의 소스 또는 배포 작업이 포함된 파이프라인을 만드는 방법에 대한 자세한 내용은 파이프라인, 단계 및 작업 생성 단원을 참조하십시오.
AWS CodePipeline Amazon ECR 소스 작업 또는 Amazon ECS 배포 작업과 같은 컨테이너 작업에 대한 작업 작업자는 정의 파일을 사용하여 이미지 URI 및 컨테이너 이름을 작업 정의에 매핑합니다. 각 정의 파일은 다음과 같이 작업 공급자가 사용하는 JSON형식의 파일입니다.
-
Amazon ECS 표준 배포에는 배포 작업에 대한 입력으로
imagedefinitions.json
파일이 필요합니다. 에서 Amazon ECS 표준 배포 작업을 사용하는 자습서는 섹션을 CodePipeline참조하세요자습서: Amazon ECS Standard 배포 CodePipeline. -
Amazon ECS 블루/그린 배포에는 배포 작업에 대한 입력으로
imageDetail.json
파일이 필요합니다. 샘플 블루/그린 배포가 포함된 자습서는 섹션을 참조하세요자습서: Amazon ECR 소스 및 CodeDeploy 배포ECS로 파이프라인 생성.-
Amazon ECR 소스 작업은 소스 작업의 출력으로 제공되는
imageDetail.json
파일을 생성합니다.
-
Amazon ECS 표준 배포 작업을 위한 imagedefinitions.json 파일
이미지 정의 문서는 Amazon ECS 컨테이너 이름과 이미지 및 태그를 설명하는 JSON 파일입니다. 컨테이너 기반 애플리케이션을 배포하는 경우 작업 CodePipeline 자에게 Amazon ECS 컨테이너와 Amazon 과 같은 이미지 리포지토리에서 검색할 이미지 ID를 제공하는 이미지 정의 파일을 생성해야 합니다ECR.
참고
이 파일의 기본 파일 이름은 imagedefinitions.json
입니다. 다른 파일 이름을 사용하려면 파이프라인 배포 단계를 만들 때 이름을 제공해야 합니다.
다음 사항을 고려하여 imagedefinitions.json
파일을 만듭니다.
-
파일은 UTF-8 인코딩을 사용해야 합니다.
-
이미지 정의 파일의 최대 파일 크기 한도는 100KB입니다.
-
배포 작업에 대한 입력 아티팩트가 되도록 파일을 소스 또는 빌드 아티팩트로 생성해야 합니다. 즉, 파일이 CodeCommit 리포지토리와 같은 소스 위치에 업로드되거나 구축된 출력 아티팩트로 생성되어야 합니다.
imagedefinitions.json
파일은 컨테이너 이름과 이미지 를 제공합니다URI. 이 파일은 다음 키-값 페어 세트로 생성해야 합니다.
키 | 값 |
---|---|
name | container_name |
imageUri | imageUri |
참고
이름 필드는 컨테이너 이미지 이름, 즉 Docker 이미지의 이름에 사용됩니다.
컨테이너 이름이 이고 sample-app
이미지가 URI이고 태그가 ecs-repo
인 JSON 구조는 latest
다음과 같습니다.
[ { "name": "sample-app", "imageUri": "11111EXAMPLE.dkr.ecr.us-west-2.amazonaws.com/ecs-repo:latest" } ]
컨테이너-이미지 페어를 여러 개 나열하도록 파일을 생성할 수도 있습니다.
JSON 구조:
[ { "name": "simple-app", "imageUri": "httpd:2.4" }, { "name": "simple-app-1", "imageUri": "mysql" }, { "name": "simple-app-2", "imageUri": "java1.8" } ]
파이프라인을 만들기 전에 다음 단계를 사용하여 imagedefinitions.json
파일을 설정합니다.
-
파이프라인에 대한 컨테이너 기반 애플리케이션 배포를 계획하는 과정에서 해당되는 경우 소스 단계와 빌드 단계를 계획합니다.
-
다음 중 하나를 선택합니다.
-
파이프라인이 생성되어 빌드 단계를 건너뛰는 경우, 원본 작업이 아티팩트를 제공할 수 있도록 JSON 파일을 수동으로 생성하여 소스 리포지토리에 업로드해야 합니다. 텍스트 편집기를 사용하여 파일을 만든 후, 파일 이름을 지정하거나 기본
imagedefinitions.json
파일 이름을 사용합니다. 이미지 정의 파일을 소스 리포지토리에 푸시합니다.참고
소스 리포지토리가 Amazon S3 버킷인 경우 JSON 파일을 압축해야 합니다.
-
파이프라인에 빌드 단계가 있는 경우 빌드 단계 중에 소스 리포지토리의 이미지 정의 파일을 출력하는 명령을 빌드 사양 파일에 추가합니다. 다음 예제에서는 printf 명령을 사용하여
imagedefinitions.json
파일을 생성합니다.buildspec.yml
파일의post_build
섹션에 이 명령을 나열합니다.printf '[{"name":"
container_name
","imageUri":"image_URI
"}]' > imagedefinitions.json이미지 정의 파일을
buildspec.yml
파일에 출력 아티팩트로 포함시켜야 합니다.
-
-
콘솔에서 파이프라인을 생성할 때 파이프라인 생성 마법사의 배포 페이지에 있는 이미지 파일 이름에 이미지 정의 파일 이름을 입력합니다.
Amazon을 배포 공급자ECS로 사용하는 파이프라인을 생성하기 위한 step-by-step 자습서는 자습서: 를 사용한 연속 배포 CodePipeline를 참조하세요.
imageDetailAmazon ECS 블루/그린 배포 작업을 위한 .json 파일
imageDetail.json
문서는 Amazon ECS 이미지 를 설명하는 JSON 파일입니다URI. 블루/그린 배포를 위해 컨테이너 기반 애플리케이션을 배포하는 경우 파일을 생성imageDetail.json
하여 Amazon ECS 및 CodeDeploy 작업자에게 Amazon 과 같은 이미지 리포지토리에서 검색할 이미지 ID를 제공해야 합니다ECR.
참고
파일의 이름은 imageDetail.json
이어야 합니다.
작업 및 해당 파라미터의 설명은 Amazon Elastic Container Service 및 블루 CodeDeploy 그린 배포 작업 참조을 참조하세요.
배포 작업에 대한 입력 아티팩트가 되도록 imageDetail.json
파일을 소스 또는 빌드 아티팩트로 생성해야 합니다. 다음과 같은 방법 중 하나를 통해 파이프라인에 imageDetail.json
파일을 제공할 수 있습니다.
-
Amazon ECS 블루/그린 배포 작업에 대한 입력으로 파이프라인에 제공되도록 소스 위치에
imageDetail.json
파일을 포함합니다.참고
소스 리포지토리가 Amazon S3 버킷인 경우 JSON 파일을 압축해야 합니다.
-
Amazon ECR 소스 작업은 파일을 다음 작업에 대한
imageDetail.json
입력 아티팩트로 자동으로 생성합니다.참고
Amazon ECR 소스 작업은 이 파일을 생성하기 때문에 Amazon ECR 소스 작업이 있는 파이프라인은
imageDetail.json
파일을 수동으로 제공할 필요가 없습니다.Amazon ECR 소스 단계가 포함된 파이프라인 생성에 대한 자습서는 섹션을 참조하세요자습서: Amazon ECR 소스 및 CodeDeploy 배포ECS로 파이프라인 생성.
imageDetail.json
파일은 이미지 를 제공합니다URI. 이 파일은 다음 키-값 페어로 생성해야 합니다.
키 | 값 |
---|---|
이미지URI | image_URI |
파이프라인을 만들기 전에 다음 단계를 사용하여 imageDetail.json
파일을 설정합니다.
-
파이프라인에 대한 컨테이너 기반 애플리케이션 블루/그린 배포를 계획하는 과정에서 해당하는 경우 소스 단계와 빌드 단계를 계획합니다.
-
다음 중 하나를 선택합니다.
-
파이프라인이 빌드 단계를 건너뛰었다면 수동으로 JSON 파일을 생성하고 와 같은 소스 리포지토리에 업로드 CodeCommit해야 소스 작업이 아티팩트를 제공할 수 있습니다. 텍스트 편집기를 사용하여 파일을 만든 후, 파일 이름을 지정하거나 기본
imageDetail.json
파일 이름을 사용합니다.imageDetail.json
파일을 해당 소스 리포지토리에 푸시합니다. -
파이프라인에 빌드 단계가 있는 경우 다음을 수행하십시오.
-
빌드 단계 중에 소스 리포지토리의 이미지 정의 파일을 출력하는 명령을 빌드 사양 파일에 추가합니다. 다음 예제에서는 printf 명령을 사용하여
imageDetail.json
파일을 생성합니다. buildspec.yml 파일의post_build
섹션에 이 명령을 나열합니다.printf '{"ImageURI":"
image_URI
"}' > imageDetail.jsonimageDetail.json
파일을buildspec.yml
파일에 출력 아티팩트로 포함시켜야 합니다. -
imageDetail.json
을buildspec.yml
파일에 아티팩트 파일로 추가합니다.artifacts: files: - imageDetail.json
-
-