Ich bin neu bei Hudson / Jenkins und habe mich gefragt, ob es eine Möglichkeit gibt, Hudsons Konfigurationsdateien zur Quellcodeverwaltung einzuchecken.
Idealerweise möchte ich in der Benutzeroberfläche auf eine Schaltfläche mit der Aufschrift "Konfiguration speichern" klicken und die Hudson-Konfigurationsdateien zur Quellcodeverwaltung einchecken lassen können.
version-control
hudson
jenkins
jenkins-plugins
Yuval Roth
quelle
quelle
Antworten:
Hilfreichste Antwort
Es gibt ein Plugin namens SCM Sync Konfigurations-Plugin .
Ursprüngliche Antwort
Schauen Sie sich meine Antwort auf eine ähnliche Frage an. Die Grundidee ist, das Dateisystem-scm-Plugin zu verwenden, um Änderungen an den XML-Dateien zu erkennen. Ihr zweiter Teil würde die Änderungen an SVN festschreiben.
BEARBEITEN: Wenn Sie einen Weg finden, den Benutzer für eine Änderung zu bestimmen, lassen Sie es uns wissen.
EDIT 2011-01-10 Mittlerweile gibt es ein neues Plugin: SCM Sync Konfigurations-Plugin . Derzeit funktioniert es nur mit Subversion und Git, aber die Unterstützung für weitere Repositorys ist geplant. Ich benutze es seit Version 0.0.3 und es hat bisher gut funktioniert.
quelle
Beachten Sie, dass Vogella eine aktuelle (Januar 2014, verglichen mit der Frage des OP Januar 2010) und andere Einstellung dazu hat.
Beachten Sie, dass das SCM Sync-Konfigurations-Plugin viele Commits generieren kann .
Anstatt sich auf ein Plugin und einen automatisierten Prozess zu verlassen, verwaltet er dieselbe Funktion manuell:
Speichern der Jobinformationen von Jenkins in Git
Alberto empfiehlt tatsächlich, auch (in
$JENKINS_HOME
) hinzuzufügen :config.xml
),hudson*.xml
) undusers/*/config.xml
)quelle
config.xml
?Um Ihre Konfiguration mit Git manuell zu verwalten, kann die folgende Gitignore-Datei hilfreich sein.
Weitere Informationen finden Sie in diesem GitHub-Gist und in diesem Blog-Beitrag .
quelle
Es gibt ein neues SCM Sync Configuration-Plug-In, das genau das tut, was Sie suchen.
Ich habe das noch nicht ausprobiert, aber es sieht vielversprechend aus.
quelle
Sie finden Konfigurationsdateien im Jenkins-Home-Ordner (z
/var/lib/jenkins
. B. ).Um sie in VCS zu behalten, melden Sie sich zuerst als Jenkins (
sudo su - jenkins
) an und erstellen Sie die Git-Anmeldeinformationen:Initialisieren, fügen Sie dann die Basisdateien hinzu, und fügen Sie sie fest, z.
Ziehen Sie auch in Betracht,
.gitignore
mit den folgenden zu ignorierenden Dateien zu erstellen (nach Bedarf anpassen):Dann fügen Sie es hinzu :
git add .gitignore
.Wenn Sie fertig sind, können Sie Jobkonfigurationsdateien hinzufügen, z
Fügen Sie schließlich bei Bedarf weitere Dateien hinzu, schreiben Sie sie fest und übertragen Sie sie in das Remote-Repository, in dem Sie die Konfigurationsdateien aufbewahren möchten.
Wenn Jenkins-Dateien aktualisiert werden, müssen Sie sie neu laden ( Konfiguration von Festplatte neu laden ) oder über die
reload-configuration
Jenkins-CLI ausführen .quelle
*.xml
ändert die Regel nicht und git ignoriert alle XML-Dateien, einschließlichconfig.xml
desjobs
Verzeichnisses.git status
Daraufhin ignoriert es stillschweigend jedes neue Projekt.Ich bevorzuge es, alles im Jenkins-Home-Ordner auszuschließen, außer den Konfigurationsdateien, die Sie wirklich in Ihrem VCS haben möchten. Hier ist die
.gitignore
Datei, die ich benutze:Dies ignoriert alles (
*
) außer (!
).gitignore
selbst, die Jobs / Projekte, das Plugin und andere wichtige und Benutzerkonfigurationsdateien.Es lohnt sich auch, den
plugins
Ordner einzuschließen. Ärgerlich aktualisierte Plugins sollten enthalten sein ...Grundsätzlich erleichtert diese Lösung zukünftige Jenkins / Hudson-Updates, da neue Dateien nicht automatisch in den Geltungsbereich fallen. Sie kommen einfach auf die Bühne, was Sie wirklich wollen.
quelle
Eine genauere
.gitignore
, inspiriert von der Antwort von nepa :Es ignoriert alles außer
.xml
Konfigurationsdateien und sich.gitignore
selbst. (der Unterschied zu nepa ‚s.gitignore
ist , dass es nicht‚unignore‘alle Top-Level - Verzeichnisse (!*/
) wielogs/
,cache/
usw.)quelle
Die Antwort von Mark ( https://stackoverflow.com/a/4066654/142207 ) sollte für SVN und Git funktionieren (obwohl die Git-Konfiguration für mich nicht funktioniert hat).
Wenn Sie es jedoch für die Arbeit mit Mercurial Repo benötigen, erstellen Sie einen Job mit dem folgenden Skript:
quelle
Ich habe ein Plugin geschrieben , mit dem Sie Ihre Jenkins-Anweisungen in die Quellcodeverwaltung einchecken können. Fügen Sie einfach eine
.jenkins.yml
Datei mit dem Inhalt hinzu:und Jenkins wird es tun:
quelle
Ich habe Hudson komplett eingecheckt, Sie könnten dies als Ausgangspunkt verwenden https://github.com/morkeleb/continuous-delivery-with-hudson
Es hat Vorteile, den ganzen Hudson in Git zu halten. Alle Konfigurationsänderungen werden protokolliert und Sie können den Testup ganz einfach auf einem Computer testen und dann die anderen Computer mit Git Pull aktualisieren.
Wir haben dies als Boilerplate für unser Hudson Continuous Delivery Setup bei der Arbeit verwendet.
Grüße Morten
quelle