Я использую Docker Swarm и Portainer.
Для тестирования сервисов с разными изображениями мне нужно клонировать сервис Docker Swarm, все хосты, монтирования, метки, секреты и т. Д. Также должны быть в новом сервисе.,Это трудно сделать вручную, потому что некоторые сервисы могут иметь много переменных среды, и Portainer не сильно помогает мне в этом.
Мне нужно клонировать весь мой сервис website_develop и запустить его в другомОбраз хоста и докера Traefik.
Рассказ о
Мои сервисы Docker Swarm основаны на ветке репо.
Например: репозиторий сайта имеет следующие сервисы: website_master,website_develop.
Я должен иметь возможность клонировать сервис website_develop и выполнить его с помощью функции / ветви.
Разработчик A (он же DA) работает над функцией / a в проекте веб-сайта.
Разработчик B (он же DB) работает над функцией / b в проекте сайта.
DA только что слил свою функцию с промежуточной средой (website_develop), потому что все готово.
БД хочет проверить свою функцию в промежуточной среде.Но он не может объединиться с website_develop, потому что он будет объединен с master, но не будет выполнен, что приведет к ошибкам (DB скоро объединится с master в мастер).
GDSC клонирует сервис website_develop с новым именем на основеимя ветви с новым URL-адресом образа докера и новым хостом Traefik.
БД публикует свою функцию / a в репозитории (функция публикации потока Git).
Репозиторий Git (gitlab, github) будетвызвать Jenkins с обновлением.
Jenkins создаст Dockerfile, а затем создаст новый сервис или обновит созданный сервис.