0

약간의 오해가 있습니다. Jenkins 인스턴스, ESC 클러스터 및 docker- 구성 파일을 사용하여 이미지를 구성하고 컨테이너를 연결합니다.젠킨스 : 도커가있는 AWS ECS에 배포

자식 내 젠킨스 인스턴스를 밀어 후 내가 Dockerfiles 모든 폴더가 그 후

을 파일을 복사 등, 모두의 repos (웹 애플리케이션이 API는, LB) 및 빌드와 같은 작업의 배치를 만드는 모든 소스를 잡고 상태 "작성 준비".

그리고이 단계에서는 젠킨스의 모든 이미지를 잡고 docker-compose.yml config로 구성하려면 AWS에서 내 ESC 클러스터를 핑 (ping)해야하는 방법을 알지 못합니다.

나는 유용한 정보를 기쁘게 생각합니다.

감사합니다.

답변

0

먼저, Jenkins 서버의 이미지를 ECR으로 푸시해야합니다. 모든 이미지를 개별 레포로 개별적으로 푸시합니다.

다음으로 ECS 클러스터를 만들어야합니다. 이 클러스터에서는 클러스터에서 실행되는 ECS 서비스를 만듭니다. 이 서비스의 경우 링크 된 컨테이너를 실행하기 위해 작업 정의를 만들고 구성합니다. ECS에서는 Task Definition의 구성에서 컨테이너 간의 링크를 정의합니다. 이렇게하려면 도커 작성을 사용할 필요가 없습니다. 여러 컨테이너 정의를 동일한 태스크 정의에 추가 할 수 있으며 ECS는 이들을 함께 연결합니다.

ECS API를 호출 할 수 있도록 인스턴스 프로파일을 첨부하여 Jenkins 서버에서이 모든 것을 자동화 할 수 있습니다. 새 이미지를 배포하려면 ECR repos로 푸시하고 해당 작업을 가리키는 새 작업 정의를 만들고 이러한 작업 정의를 실행하는 서비스를 업데이트하면됩니다. ECS는 자동으로 사용자를 대신하여 파란 - 녹색 배포를 시작합니다.

+0

대답은 Ty입니다. 내가 아는 한 esc-cli 작성 명령은 작성 파일을 작업 정의로 변환 할 수 있습니다. 나는 compose manifest와 함께 일반적인 접근법을 사용하고 수동으로 json 형식으로 ecs 태스크 정의를 생성하지 않고 싶다. 어떻게 생각하니? –

+0

아하 그래, 상황이 좀 바뀌어. 나는''''ecs-cli''' API를 사용하지 않았지만 [docs] (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cmd-ecs-cli)에서 볼 수 있습니다. -compose-service.html)은'''''ecs-cli compose --project-name hello-world --file hello-world.yml 서비스 규모 2'''를 실행하여 필요한 모든 것을 생성합니다. 명령이 이미지를 ECR로 푸시하는지 여부는 명확하지 않지만''ecs-cli push'' 명령이 있음을 알 수 있습니다. 다음 두 가지 사항을 확인하십시오. 1) ECR에 나열된 이미지가 보이십니까? 2) 작업 정의 json 파일의 이미지 URI가 어떻게 표시됩니까? –