Использование конвейеров DevOps для создания пакетов распространения приложений - PullRequest
1 голос
/ 06 мая 2020

Мы хотим создавать пакеты наших приложений для распространения среди клиентов et c. Приложение может иметь более одного компонента. Пример: приложение может иметь сервер Spring и планировщик, поэтому для распространения этого приложения клиенту должны быть предоставлены обе банки.

Мы хотим использовать Docker / Docker компоновка для выполнения sh этот. Пример: мы передаем клиенту пакет, содержащий файл Docker compose, и он просто запускает docker-compose up для запуска приложения.

В настоящее время у нас есть конвейер Jenkins, который при запуске создает zip-файл, содержащий .tar файлов всех Docker изображений компонентов. Также будет файл start.sh (или start.bat), который при запуске загрузит все изображения Docker и запустит docker-compose up.

Некоторые из этих компонентов имеют свойства, необходимые клиенту. для настройки в соответствии с их средой (например, URL-адрес SCM). Если компонент основан на Spring / Java, мы бы смонтировали файл application.properties извне в образ docker в docker-compose.yml

Все это работает, я просто хочу знать, работает ли текущий процесс мы используем, соответствует отраслевым стандартам или есть лучший способ удовлетворить требования? Какие-либо инструменты с открытым исходным кодом, которые упростили бы процесс?

ОБНОВЛЕНИЕ: Единственная «проблема», с которой мы столкнулись при выполнении описанного выше процесса, - это необходимость изменить свойства конфигурации, чтобы они соответствовали нашей среде docker -compose. Например, в одном из файлов application.properties, которые разработчик зарегистрировал в SCM, он указал хост MySQL как localhost, тогда как при развертывании в нашей среде Docker compose контейнер MySQL будет иметь хост имя mysql. Как мы справляемся с такой проблемой? Используем ли мы профили в приложении Java / Spring? Пример: application-dev.properties и application-docker.properties. Или есть лучший способ управлять конфигурацией приложений

...