0

Elastic Beanstalk에서 CodePipeline의 CI/CD로 실행되는 다중 컨테이너 Docker 응용 프로그램을 사용하고 있습니다.AWS CodePipeline - 기존 Dockerrun.aws.json을 사용하여 Elastic Beanstalk에 배포

  • 프런트 엔드 저장소/이미지/파이프 라인
  • 백엔드 저장소/이미지/파이프 라인
  • 배포 저장소 (Dockerrun.aws.json, nginx/conf.d/ 등)
: 내 응용 프로그램은 여러 저장소 및 여러 이미지에서 분할

Elastic Beanstalk에 배포하는 것은 배포 저장소뿐입니다. 프론트 엔드와 백엔드 리포지토리에는 Dockerrun.aws.json 파일, 환경 변수 등에 관한 정보가 없습니다.

내 프런트 엔드와 백엔드 리포지토리 모두에 대한 CodePipeline의 최신 단계에서이 리소스를 Elastic Beanstalk 출력 결과물에 Dockerrun.aws.json 파일이 포함되어 있지 않으므로 실패합니다.

그래서 내가하고 싶은 것은 파이프 라인이 이미지를 만들고 ECR (이미 성공적으로 수행 한 작업)에 푸시 한 다음 Elastic Beanstalk을 트리거하여 이미지를 업데이트/풀다운합니다. 어떻게해야합니까? 저는 빌드에서 유물을 Elastic Beanstalk로 밀어 넣고 싶지 않습니다.

답변

0

Elastic Beanstalk은 단일 "모노 레포 (mono repo)"를 사용하고 다중 레포 응용 프로그램으로 실행하지 않는 것 같습니다. 따라서 여러 저장소를 사용하는 대신 단일 저장소로 병합했습니다.

나의 현재 저장소는 이제 다음과 같습니다

.git/ 
backend_app/ 
frontend_app/ 
Dockerrun.aws.json 

를 지금은 내 저장소에 밀어 때마다, AWS CodePipeline 변경 사항을 수정 해 성공적으로 내 탄성 콩 줄기 응용 프로그램을 배포 할 수 있습니다.

마이크로 서비스, 멀티 리포 (multi repo) 등을 사용하여 응용 프로그램을 실행하려는 사람이라면 Elastic Beanstalk이 올바른 접근 방식이 아닐 수도 있습니다.