2017-10-13 6 views
0

TFS로 도커 이미지를 만듭니다. 이미지가 빌드 된 후 Amazon EC2 컨테이너 레지스트리 (ECR)로 푸시하고 싶습니다.AWS에 TFS가있는 도커 이미지 배포 ECR

이것을 달성하는 가장 좋은 방법은 무엇입니까?

예를 들어 extension for TFS이 있습니다. AWS S3에 데이터를 업로드하거나 AWS CLI 명령을 실행하십시오. CLI를 사용하여 aws ecr get-login --no-include-email --region xxx을 실행 한 다음 이미지를 수동으로 푸시 할 수 있습니다. 우리의 buildserver는 리눅스 머신이고 "Windows PowerShell Script 용 AWS Tools"는 Windows에서만 실행되기 때문에 작동하지 않습니다.

답변

0

질문에서 TFS extension mentioned은 이제 이미지를 ECR로 푸시하는 것을 지원합니다. (버전 1.0.14)

은 "AWS 탄성 컨테이너 레지스트리 푸시는"지금이 작업 enter image description here

0

필자는 확장을 피하고 성공적인 빌드시 TFS에서 셸 스크립트를 트리거하는 방법을 알아 냈습니다. (정확히 방정식의 절반을 어떻게 수행해야할지 모르지만 나머지는 어떻게 수행해야하는지 알 수 있습니다.)

이 명령을 제공하는 AWS CLI for Unix을 다운로드 할 수 있습니다. 그런 다음 docker login $(aws ecr get-login --no-include-email --region xxx)을 보시고 귀하가 만든 ECR에 docker push 이미지를 보내십시오.

제가 본 모범 사례는 build-scripts 폴더 또는 그와 비슷한 것에서 코드와 동일한 리포지토리에 작은 "빌드 스크립트"를 유지하는 것입니다. 그런 다음 "어려운 부분"은 성공시 스크립트를 실행하기 위해 TFS를 연결하기 만하면됩니다.

+0

주셔서 감사합니다 응답을 많이. TFS로 스크립트를 실행하는 것은 문제가되지 않습니다. 여기서 싫어하는 부분은 스크립트에서 AWS의 비밀번호를 하드 코딩해야한다는 것입니다. 누구나 볼 수있는 것처럼 좋지 않으며 변경해야 할 경우 각 프로젝트에서 변경해야합니다. 결코 다른 방법이 없다면 나에게 갈 길이 멀지 만 나에게는 옵션이 없습니다. – Mathias

+0

AWS CLI를 사용하면 자격 증명 정보를 3 곳 이상의 장소에 배치 할 수 있습니다. 내가 머리 꼭대기에서 생각할 수있는 것들은 ~/.aws에있는 텍스트 파일, AWS CLI가 찾는 환경 변수 또는 예. cli app에 대한 매개 변수입니다. 파일 접근 방식은 많은 프로젝트에서 사용할 수 있도록 creds를 넣을 수있는 공통의 장소를 제공합니다. – RyanWilcox