- 20, Oct 2024
- #1
Я спрашиваю, является ли это антипаттерном или нет, это одна из лучших практик CI.
У нас есть тестовый сервер, на котором внутри контейнеров работают серверные части Java-приложений Spring Boot.
- Что мы делаем сейчас:
- Создайте JAR из кода ветки разработки (сделано Дженкинсом).
- Скопируйте JAR в образ Docker с тегом «backend-service:develop» (сделано Jenkins).
- Отправьте образ Docker в наш частный реестр Docker (сделано Jenkins).
Загрузите образ Docker на тестовый сервер и обновите работающие контейнеры (выполняется операторами вручную).
Я думаю, что, возможно, мы зря тратим место в реестре Docker, работая таким образом. Этот метод отлично работает с выпусками в промежуточных и производственных средах, позволяя сохранять нужные нам версии. Но в среде тестирования, я думаю, есть лучший способ сделать это.
Возможно, мы могли бы использовать один и тот же контейнер, извлекающий последний JAR-файл из частного репозитория Nexus/Artifactory, поскольку в отличие от реестра Docker, который хранит все слои и изображения (если они не удалены вручную), JAR-файлами в Artifactory можно легко управлять и ими можно управлять. заменил.