Я довольно новичок в docker worlflow, и мне интересно, что лучше всего подходит для рабочего процесса docker CD/CI ... большинство статей, выпущенных прямо сейчас, похоже, действительно не говорят о «развертывании» части докера , только регистрация.Какова наилучшая практика для рабочего процесса Docker CD/CI?
Что я хочу сделать:
- сделать некоторые изменения кода
- Нажмите на Git
- Test Дженкинс Unit/EE тест
- Дженкинс строит Docker изображение
- магазин Docker изображение в реестре
- Запуск изображения докеров на сервере.
Для достижения шагов 1-5 у меня есть нижний стек.
Пользователь нажимает на gitlab -> Gitlab webhook уведомляет jenkins -> jenkins создает проект -> Сохраняет изображение в реестре докеры gitlab.
Я использую Rancher для развертывания изображений докеров ... Мне очень нравится распределение Ранчера. i.e я могу указать изображение докера, которое будет запускаться, и rancher заботится о том, какой сервер развертывает мой контейнер.
В идеале я хотел бы шаг # 6, чтобы быть «распределены» (то есть я не хочу, чтобы SSH на сервер и запустить docker run {imagename}
) и имеют некоторые службы быть авторитетом для развертывания
есть что-нибудь подобное в настоящее время, что позволит мне это достичь?
Каким будет поток при использовании кубернетов? Есть ли какой-нибудь «звонок», который автоматически разворачивает изображение? – nate
Я не знаю кубернетов, чтобы дать ответ, однако, с докером вы можете использовать встроенный [планировщик] (https://docs.docker.com/engine/swarm/swarm-tutorial/rolling-update/) и задание cron, которое регулярно называет «обновление докеров». Вероятно, вы также можете вызвать конечную точку [REST endpoint] (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/) service/name/update с вашего CI-сервера. –