|
Jobs zwischen zwei Jenkins Instanzen kopieren |
|
Geschrieben von: Thomas Hagg
|
|
WEDNESDAY, 10 AUGUST 2011 16:49 |
|
Diese Anleitung beschreibt wie Jobs zwischen zwei Jenkins Instanzen kopiert werden. Wir wollen den Job "JOB_007" von Jenkins 1 auf Jenkins 2 kopieren.
Es ist wahrscheinlich, dass unser JOB_007 Plugins verwendet die in Jenkins 2 nicht existieren. Diese kann man nachinstallieren (vor dem kopieren). Ist aber kein muß. Die Features können dann halt nicht verwendet werden.
Browser only Lösung:
Voraussetzung: - Firefox mit HttpRequester Plugin
- Login in Jenkins 1.
- Aufruf der config.xml für unseren Job über folgenden Link https://JENKINS_1/job/JOB_007/config.xml. Datei Lokal speichern (Rechtsklick, "Seite speichern unter").
- Login in Jenkins 2.
- Anlegen eines neuen Jobs mit beliebigem Namen und speichern.
- Firefox HttpRequester Plugin öffnen (rechts unten in der Statusbar).
- Als "URL" die https://JENKINS_2/job/JOB_007_NEU/config.xml unseres neuen Jobs eintragen.
- Bei "File" unsere gespeicherte config.xml wählen.
- "POST" drücken. Unsere config.xml wird nun hochgeladen und ersetzt die config.xml unseres neuen Jobs.
- Die Konfiguration des neuen Jobs muß einmalig geprüft und neu gespeichert werden. Dadurch werden nicht vorhandene Plugins aus der config.xml bereinigt.
SSH Lösung:
Bei SSH Zugang zu beiden Jenkins Home Verzeichnissen kann man den Job direkt kopieren. Dazu wird das Verzeichnis JENKINS_HOME/jobs/<Jobname>/ in das jobs Verzeichnis der zweiten Jenkins Instanz kopiert. Anschliessend muss man im Jenkins die "Konfiguration von der Festplatte neu laden" Funktion wählen. Ansonsten erscheint der Job nicht in der Liste. Die Konfiguration des neuen Jobs muß einmalig geprüft und neu gespeichert werden. Dadurch werden nicht vorhandene Plugins aus der config.xml bereinigt.
Jenkins CLI Lösung:
Jenkins verfügt über eine CLI Schnittstelle. Diese kann auch verwendet werden zum kopieren eines Jobs. Siehe https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+CLI
|