AWS CodePipeline : CodeBuild에서 ECR 이미지 빌드를 나머지 단계의 아티팩트로 만드는 방법은 무엇입니까?

달튼 퓨리 42

내 CodePipeline에는 현재 Github 소스와 이미지를 빌드하고 ECR로 푸시하는 CodeBuild가 있습니다.

+---------------+      +-----------+     +-----+
| GitHub Source +----->+ CodeBuild +---->+ ECR |
+---------------+      +-----------+     +-----+

ECR에 푸시 된 이미지를 가져와 ECS에 배포하는 CodeDeploy 단계를 파이프 라인에 추가하고 싶습니다. 하지만 내 CodeBuild 단계는 아티팩트를 생성하지 않습니다 (ECS에 업로드되며 ECR 이미지를 아티팩트로 정의하는 방법을 모릅니다). 그래서 CodeDeploy를 파이프 라인에 연결할 수 없습니다. 이 작업을 수행하는 방법을 아십니까?

+---------------+      +-----------+     +-----+      +------------+     +-----+
| GitHub Source +----->+ CodeBuild +---->+ ECR +----->+ CodeDeploy +---->+ ECS |
+---------------+      +-----------+     +-----+      +------------+     +-----+

제가 생각할 수있는 유일한 해결책은 ECR을 소스로 사용하고 배포를 수행 할 두 번째 파이프 라인을 만드는 것입니다.

     Pipeline 1
+---------------+      +-----------+     +-----+
| GitHub Source +----->+ CodeBuild +---->+ ECR |
+---------------+      +-----------+     +-----+

 Pipeline 2
+-----+      +------------+     +-----+
| ECR +----->+ CodeDeploy +---->+ ECS |
+-----+      +------------+     +-----+
달튼 퓨리 42

imagedefinitions.jsonECS 표준 배포 작업 또는 imageDetail.jsonAmazon ECS Blue / Green 배포 작업에 대해 이름이 지정된 json 파일이 될 아티팩트를 정의해야합니다 . 여기 에있는 참조에 설명되어 있습니다 .

제 경우에는 표준 배포를 수행했기 때문에 buildspec.yml빌드가 끝날 때 두 개의 추가 명령을 추가했습니다.

  phases: 
    build: 
      commands: 

        ...Build and push to ECR...

        echo Generating imagedefinitions.json
        echo '[{"name":"<CONTAINER-NAME>","imageUri":"'<IMAGE-URI>"}]' > imagedefinitions.json
  artifacts:
    files:
      - imagedefinitions.json

그런 다음 파일을 아티팩트로 추가했습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관