Оскільки ви використовуєте Rancher, найпростішим способом було б зареєструвати спеціальний каталог Rancher та створити елемент для кожного стека / послуги, який ви хочете розгорнути.

Каталог Rancher - це сховище Git із наступною структурою

Тоді в Дженкінсі можна створити завдання, яке викликало б Rancher REST API для розгортання / оновлення стека / послуги.

Своєю чергою Rancher витягнув останню версію зображення Docker для цієї послуги та розмістив її відповідно до файлу Docker Compose з каталогу.

Плюси:
- загальний підхід, який може використовуватися майже для кожного додатка
- Сам Дженкінс може бути розгорнутий у середовищі Rancher, агенти можуть бути створені в кластері Kubernetes
Мінуси:
- Команда розробників повинна дотримуватися стратегії твердого випуску, щоб мати можливість використовувати загальні побудови
- драйвери зберігання все ще під питанням в альфа-релізі Rancher 2.0