Развертывание образа докера с TFS в AWS ECR

Я создаю образы докеров с помощью TFS. После создания образа я хотел бы отправить его в реестр контейнеров Amazon EC2 (ECR).

Как лучше всего этого добиться?

Существует расширение для TFS, например, загружать данные в AWS S3 или запускать команды интерфейса командной строки AWS. С помощью интерфейса командной строки я мог запустить aws ecr get-login --no-include-email --region xxx, а затем вручную отправить изображение. Поскольку наш сервер сборки является Linux-машиной, а «Инструменты AWS для сценария Windows PowerShell» работают только в Windows, он также не работает.


person Mathias    schedule 13.10.2017    source источник


Ответы (2)


расширение TFS, упомянутое в вопросе, теперь поддерживает отправку изображений в ECR. (Версия 1.0.14)

Теперь есть задача "AWS Elastic Container Registry Push"  введите описание изображения здесь

person Mathias    schedule 01.12.2017

Я бы избегал расширения и просто выяснил, как заставить TFS запускать сценарии оболочки после успешной сборки. (Я точно не знаю, как сделать эту половину уравнения, но я знаю, как сделать остальное).

Вы можете загрузить интерфейс командной строки AWS для Unix, который дает вам эту команду. Затем docker login $(aws ecr get-login --no-include-email --region xxx) как вы видели и docker push ваше изображение в ECR, которое вы создали.

Лучшая практика, которую я видел, - это хранить такие маленькие «сценарии сборки» в том же репозитории, что и ваш код, например, в папке build-scripts или что-то в этом роде. Тогда «сложная часть» - это только подключение TFS для успешного выполнения этого сценария, и это все, что нужно знать.

person RyanWilcox    schedule 13.10.2017
comment
Большое спасибо за ваш ответ. Запуск сценария с TFS не проблема. Что мне здесь не нравится, так это то, что мне пришлось бы жестко закодировать пароль для AWS в скрипте. Это плохо, так как это может видеть любой, и если мне нужно это изменить, мне нужно будет изменить это в каждом проекте. Тем не менее, это способ пойти, но для меня только вариант, если другого пути нет. - person Mathias; 14.10.2017
comment
Интерфейс командной строки AWS позволяет размещать учетные данные в трех (или более?) Разных местах. Те, что я могу придумать, это текстовый файл в ~ / .aws, переменные среды, которые ищет CLI AWS, или да, я думаю, параметры для приложения cli. Файловый подход даст вам обычное место для размещения кредитов, чтобы вы могли использовать их для многих проектов. - person RyanWilcox; 14.10.2017