Jenkins Pipeline – War File deployen

Mit dem folgende Script kann man eine war Datei mit Jenkins Pipeline auf einem Tomcat deployen. Für das deployen mit curl auf einem tomcat wird ein User mit der Rolle manager-script benötigt.

Checkout:

Beim checkout wird nur eine Schatten Kopie mit einer Tiefe von 2 vom Ziel Branch heruntergeladen. Das reduziert die Zeit für den checkout. Bei einem

werden hingegen alle branches und auch die History des aktuellen Branches komplett heruntergeladen. Dies wird an dieser Stelle aber nicht benötigt.

Deploy Stage:

Nach dem bauen wird mittels curl einfach die war Datei auf dem Tomcat deployed. Was noch fehlt ist eine Prüfung ob das deployen erfolgreich war und das Neustarten des Tomcats falls nicht. Die Prüfung kann man mit curl oder wget machen und das Neustarten mit Hilfe einer ssh Verbindung auf den Tomcat.

Jenkins Pipeline

Die neue Pipeline Funktion von Jenkins kann mit Jenkins 1.x und 2.x verwendet werden. Bei Jenkins 2.x gibt es aber auch noch ein Plugin um die einzelnen Stages in einer View zu visualisieren.

Für die Pipeline gibt es auch einen Snippet Generator unter http://localhost:8080/jenkins/job/Pipelinetest/pipeline-syntax/.

Mit dessen Hilfe kann man für die meisten Anwendungsfälle Snippets generieren und diese dann nach den eigenen Anforderungen anpassen.

Der Beispiel Code für einen Github checkout und Maven aufruf sieht dabei wie folgt aus:

Dabei sieht man auch die Änderungen bei Jenkins 2, das Thirdparty Komponenten wie Maven über Variablen und nicht mehr über Pfad Angaben in der Konfiguration gemanagt werden. Die „stage“ aufrufe bilden dabei die einzelnen Schritte welche auch in der Stage View sichtbar sind.

Installation Jenkins 2.x mit Tomcat

Im folgenden Beitrag beschreibe ich die Installation eines Jenkins 2.x in einem Tomcat8. Es ist auch möglich den Jenkins ohne Tomcat laufen zu lassen.

Schritt 1

Installation Tomcat8 unter Linux mit

alternativ kann auch die aktuelle Version unter https://tomcat.apache.org/download-80.cgi heruntergeladen werden und entpackt werden. Dieses Vorgehen ist für Windows zu empfehlen.

Unter Linux ist der Tomcat nach der Installation unter /var/lib/tomcat8/ zu finden.

tomcat8

Schritt 2

Damit Jenkins im Tomcat richtig starten kann, muss JENKINS_HOME im Tomcat Environment gesetzt werden. Alternativ kann JENKINS_HOME auch als Umgebungsvariable gesetzt werden, was aber das betreiben mehrerer Jenkinses auf einem Server verhindert.

Der folgende Code wir in der Datei conf/context.xml eingefügt: Continue reading “Installation Jenkins 2.x mit Tomcat”