2016-12-29 3 views
1

Docker новичок здесь.Внедрение изменений в контейнер Docker с помощью Jenkins

У меня есть контейнер для док-станции для запуска простого приложения Jode Node.

Предположим, у меня есть новая версия моего приложения (например, 1.1), который должен быть развернут с помощью Jenkins CI. Здесь я получаю немного потеряли о том, что именно Дженкинс CI должен делать:

  • Если закрыть и удалить старый контейнер (1,0) и запустить новый экземпляр 1,1?

ИЛИ

  • Если попасть в ток, протекающий контейнер и обновлять только код?

ответ

3

Идеальная практика использования CI/CD инструмент, как Дженкинс выглядит следующим образом:

1) Сделать работу в Дженкинс (в идеале трубопровод работу Дженкинс), который должен Извлекает код из репозитория SCM, а затем запустить определенный модульный тест и изолированный тест интеграции на этом коде.

2) Эта работа затем создает изображение из вашего кода и правильно помещает его и сохраняет в нем необходимый репозиторий докеров.

3) Затем задание должно перейти к вашему докер-хосту и вытащить новое изображение докера, затем остановить старый контейнер и запустить новый контейнер.

4) В качестве дополнительного шага вы можете настроить cron на своем хосте, использующем контейнеры докеров, для управления старыми потерянными изображениями и контейнерами.

+0

Отличный ответ, спасибо! – radioaktiv

0

Я бы создал новое изображение «1.1», остановил и удалил старый контейнер и запустил новый, основанный на изображении 1.1. Таким образом, новое изображение представляет собой автономное приложение, которое может быть развернуто без каких-либо изменений в любой среде (локальная, тестирование, производство ...)