У меня есть несколько приложений Scala, которые я хочу развернуть в многоконтейнерной среде Docker на Amazon Elastic Beanstalk.
Кажется, что весь процесс немного сложнее, чем я ожидал. Итак, я очень рад услышать отзывы о лучших практиках и других способах улучшения всего процесса и возможности "автоматизировать" некоторые шаги (если это возможно).
Это мой текущий процесс:
- Чтобы создать артефакты моих проектов, я использую плагин sbt-docker. Эта плагин генерирует артефакты проектов (jars и Dockerfile) под [Приложение маршрутное]/цель/докер.
- Я загружаю эти артефакты (jars и Dockerfile) в git репозиторий (в настоящее время выполняется "вручную" ).
- Как Амазонный эластичный бобовый шлейф требует для Докера многоконтейнеры, мне нужен онлайн-репозиторий для "размещения" images: Может быть Docker-Hub или Quay.io. Либо мне нужно иметь репозиторий git, в котором он может найти артефакты способный генерировать изображение проекта.
- Создав многоконтейнерную среду в Elastic Beanstalk, Я приступаю к загрузке файла Dockerrun.aws.json, как описано в Amazon, а также .ebextensions/elb-listeners.config с настройками порты (поскольку я запускаю несколько приложений)
- Магия! Amazon генерирует мою среду. Тот же URL-адрес, разные порты для всех моих приложений (как указано в файлах конфигурации на этапе 4.
Мне бы хотелось найти способ автоматизировать шаг 2. Так как для этого требуется, чтобы у меня было дополнительное репо для каждого приложения. У меня есть мои приложения, размещенные в репозитории git, и у меня есть "дополнительное" репо для каждого, где я размещаю артефакты, сгенерированные на шаге 1, чтобы выполнить шаг 3.