Wenn Sie Rancher verwenden, ist es am einfachsten, einen benutzerdefinierten Rancher-Katalog zu registrieren und für jeden Stack / Service, den Sie bereitstellen möchten, ein Element zu erstellen.
![Benutzerdefinierten Katalog hinzufügen](https://i.stack.imgur.com/eKzP7.png)
Rancher Catalog ist ein Git-Repository mit der folgenden Struktur
![Git-Repository-Struktur](https://i.stack.imgur.com/Sx8fu.png)
Dann können Sie in Jenkins einen Job erstellen, der die Rancher-REST-API aufruft, um den Stack / Service bereitzustellen / zu aktualisieren.
![Bildbeschreibung hier eingeben](https://i.stack.imgur.com/yK0Cr.png)
Im Gegenzug ruft Rancher die neueste Version des Docker-Images für diesen Dienst ab und stellt sie entsprechend der Docker-Compose-Datei aus dem Katalog bereit.
![Bildbeschreibung hier eingeben](https://i.stack.imgur.com/f3OtP.png)
Vorteile:
- allgemeiner Ansatz, der für fast jede App verwendet werden kann
- Jenkins selbst wird möglicherweise in der Rancher-Umgebung bereitgestellt, Agenten werden möglicherweise im Kubernetes-Cluster erstellt
Nachteile:
- Das Entwicklungsteam sollte eine solide Release-Strategie verfolgen, um generische Builds verwenden zu können
- Speichertreiber sind in der Alpha-Version von Rancher 2.0 immer noch in Frage