jenkins Tutorial
Erste Schritte mit Jenkins
Suche…
Bemerkungen
Jenkins ist ein Open Source-Tool zur kontinuierlichen Integration, das in Java geschrieben wurde. Das Projekt wurde nach einem Streit mit Oracle von Hudson abgezweigt .
Jenkins bietet kontinuierliche Integrationsdienste für die Softwareentwicklung an. Es ist ein serverbasiertes System, das in einem Servlet-Container wie Apache Tomcat ausgeführt wird. Es unterstützt SCM-Tools wie AccuRev, CVS, Subversion, Git, Mercurial, Perforce, Clearcase und RTC und kann Apache Ant- und Apache Maven-basierte Projekte sowie beliebige Shellskripts und Windows-Stapelbefehle ausführen. Der Hauptentwickler von Jenkins ist Kohsuke Kawaguchi . Jenkins ist freie Software und wird unter der MIT-Lizenz veröffentlicht.
Builds können auf verschiedene Arten gestartet werden, z. B. durch Festschreiben in einem Versionskontrollsystem, durch Einplanen über einen cron-ähnlichen Mechanismus, durch das Erstellen, wenn andere Builds abgeschlossen sind, und durch Anfordern einer bestimmten Build-URL.
Versionen
Jenkins
Ausführung | Veröffentlichungsdatum |
---|---|
1.656 | 2016-04-03 |
2,0 | 2016-04-20 |
Jenkins 1.x vs Jenkins 2.x
Jenkins ist (und ist immer noch) ein Continuous Integration (CI) -System, das die Automatisierung von Softwareentwicklungsprozessen ermöglicht, z. B. das Erstellen von Code für SCM-Commit-Trigger. Aufgrund des wachsenden Bedarfs an Continuous Delivery (CD) hat sich Jenkins für ein reines CI-System zu einer Mischung aus CI und CD entwickelt. Die Notwendigkeit, die Jobs von Jenkins nicht undustrialisieren zu müssen, hat zugenommen, und klassische Jenkins 1.x Freestyle/Maven jobs
für bestimmte Anforderungen zu begrenzt.
Unter Jenkins 1.xa erschien ein Plugin namens workflow-plugin
, mit dem Entwickler Code schreiben können, um Jobs zu beschreiben. Jenkins 2 geht noch weiter und fügt eine integrierte Unterstützung für Pipeline as Code
. Der Hauptvorteil besteht darin, dass Pipelines als Groovy-Skriptdateien komplexer als UI-konfigurierte Freestyle-Jobs sein können und versionsgesteuert sein können. Jenkins 2 fügt außerdem eine neue Benutzeroberfläche hinzu, mit der verschiedene in einer Pipeline definierte "Stufen" leicht visualisiert werden können und der Fortschritt der gesamten Pipeline verfolgt werden kann.
Einen vollständigen Überblick darüber, was Jenkins 2 zu Jenkins hinzufügt, finden Sie in Jenkins 2 Overview .
Das vollständige Änderungsprotokoll ist auch auf der Jenkins-Website verfügbar.
Installation
Für apt-get-basierte Systeme wie Ubuntu
Fügen Sie das Jenkins-Repository hinzu:
wget -q -O - https://jenkins-ci.org/debian/ Jenkins-ci.org.key | sudo apt-key
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
Aktualisieren Sie die Quellen und installieren Sie Jenkins:
sudo apt-get update
sudo apt-get install jenkins
Ein Jenkins-Benutzer wird jetzt erstellt und standardmäßig wird Jenkins auf Port 8080 ausgeführt.
Für RPM-basierte Distributionen wie Red Hat Enterprise Linux (RHEL), CentOS, Fedora oder Scientific Linux
So laden Sie die Repository-Datei für die stabile Version herunter:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
Oder wenn Sie die neuesten wöchentlichen Releases wünschen:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
Importieren Sie den öffentlichen Schlüssel:
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
Installieren Sie Jenkins mit Yum:
sudo yum install jenkins
Jenkins benötigt Java zum Ausführen und Installieren:
sudo yum install java
Zum Starten / Stoppen / Neustarten von Jenkins verwenden Sie:
sudo service jenkins start/stop/restart
Upgrade von Jenkins (RPM-Installationen)
- Sichern Sie das Home-Verzeichnis von Jenkins
- Ersetzen Sie jenkins.war am folgenden Speicherort durch eine neue WAR-Datei. / usr / lib / jenkins / jenkins.war`
- Starten Sie Jenkins neu
- Überprüfen Sie festgesteckte Plugins und lösen Sie sie ggf. ab
- Laden Sie die Konfiguration erneut von der Festplatte
Hinweis: Deaktivieren Sie für Jenkins 2-Upgrades für den Jetty-App-Server den AJP-Port (setzen Sie JENKINS_AJP_PORT="-1"
) in /etc/sysconfig/jenkins
.
Nginx Proxy einrichten
Jenkins läuft nativ auf Port 8080. Wir können einen Proxy von Port 80 -> 8080 einrichten, so dass Jenkins über Folgendes erreichbar ist:
http://<url>.com
anstelle der Standardeinstellung
http://<url>.com:8080
Beginnen Sie mit der Installation von Nginx.
sudo aptitude -y install nginx
Entfernen Sie die Standardeinstellungen für Nginx
cd /etc/nginx/sites-available
sudo rm default ../sites-enabled/default
Erstellen Sie die neue Konfigurationsdatei
sudo touch jenkins
Kopieren Sie den folgenden Code in die neu erstellte jenkins
Datei.
upstream app_server {
server 127.0.0.1:8080 fail_timeout=0;
}
server {
listen 80;
listen [::]:80 default ipv6only=on;
server_name ;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://app_server;
break;
}
}
}
Erstellen Sie eine symbolische Verknüpfung zwischen verfügbaren Websites und aktivierten Sites:
sudo ln -s /etc/nginx/sites-available/jenkins /etc/nginx/sites-enabled/
Starten Sie den Nginx-Proxy-Dienst neu
sudo service nginx restart
Jenkins wird jetzt von Port 80 aus erreichbar sein.
Plugin von externer Quelle installieren
java -jar [Path to client JAR] -s [Server address] install-plugin [Plugin ID]
Die Client-JAR muss die CLI-JAR-Datei sein, nicht die gleiche JAR / WAR-Datei, die Jenkins selbst ausführt. Eindeutige IDs finden Sie auf den jeweiligen Plugins im Jenkins CLI-Wiki ( https://wiki.jenkins-ci.org/display/JENKINS/Plugins).
Verschieben Sie Jenkins von einem PC auf einen anderen
Dies funktionierte für mich, um von Ubuntu 12.04 (Jenkins Version 1.628) zu Ubuntu 16.04 (Jenkins Version 1.651.2) zu wechseln. Ich habe Jenkins zuerst aus den Repositories installiert .
Kopieren Sie
JENKINS_HOME
(z. B. / var / lib / jenkins) vom alten Server zum neuen. Von einer Konsole auf dem neuen Server:rsync -av username@old-server-IP:/var/lib/jenkins/ /var/lib/jenkins/
Sie brauchen das vielleicht nicht, aber ich musste
-
Manage Jenkins
undReload Configuration from Disk
. - Trennen und verbinden Sie alle Slaves erneut.
- Vergewissern Sie sich, dass unter
Configure System > Jenkins Location
dieJenkins URL
dem neuen Jenkins-Server korrekt zugewiesen ist.
Konfigurieren Sie ein Projekt in Jenkins
Hier werden wir die neueste Version des Projektcodes überprüfen, die Tests ausführen und die Anwendung live machen. Um dies zu erreichen, folgen Sie den nachstehenden Schritten:
- Öffnen Sie Jenkins im Browser.
- Klicken Sie auf den Link Neuer Job .
- Geben Sie den Projektnamen ein und wählen Sie den Link Erstellen eines frei gestalteten Softwareprojekts .
- Klicken Sie auf die Schaltfläche OK .
- Aktivieren Sie im Abschnitt Quellcodeverwaltung das Optionsfeld neben Ihrem Quellcodeverwaltungstool. In meinem Fall habe ich Git ausgewählt.
Geben Sie die URL des Git-Repos wie git://github.com/example/example.git
- Aktivieren Sie unter den Build-Triggern das Optionsfeld neben Poll SCM .
- Stellen Sie
*****
im Zeitplan ein . Dieses Feld ist dafür verantwortlich, den Build in regelmäßigen Abständen auszulösen.*****
gibt an, dass der Job jede Minute für Änderungen in git repo ausgelöst wird. - Unter dem Build - Abschnitt, klicken Sie auf Hinzufügen Build - Schritt - Taste und wählen Sie die Option , mit der Sie das Projekt erstellen möchten. Ich habe Execute Shell ausgewählt. Schreiben Sie im Befehlsfeld den zu erstellenden Befehl, führen Sie die Tests aus und stellen Sie ihn für prod bereit.
- Scrollen Sie nach unten und speichern Sie .
Wir haben oben ein grundlegendes Projekt in Jenkins konfiguriert, das den Build jede Minute für Änderungen in Ihrem Git-Repository auslöst. Hinweis: Um das komplexe Projekt einzurichten, müssen Sie möglicherweise einige Plugins in Jenkins installieren.
Jenkins vollständige Einführung an einem Ort
1. Jenkins:
Jenkins ist ein Open Source-Tool zur kontinuierlichen Integration, das in Java geschrieben wurde. Das Projekt wurde nach einem Streit mit Oracle von Hudson abgezweigt.
Kurz gesagt, Jenkins ist der führende Open Source-Automatisierungsserver. Mit Java erstellt, bietet es Hunderte von Plugins, die das Erstellen, Testen, Bereitstellen und Automatisieren für praktisch jedes Projekt unterstützen.
Features: Jenkins bietet die folgenden Hauptfunktionen an, und viele weitere können über Plugins hinzugefügt werden:
Einfache Installation: Führen Sie einfach java -jar jenkins.war aus und stellen Sie es in einem Servlet-Container bereit. Keine zusätzliche Installation, keine Datenbank. Bevorzugen Sie ein Installationsprogramm oder ein natives Paket? Das haben wir auch. Einfache Konfiguration: Jenkins kann vollständig von der benutzerfreundlichen Web-GUI aus konfiguriert werden, mit umfassenden Fehlerprüfungen und Inline-Hilfe. Reichhaltiges Plugin-Ökosystem: Jenkins kann in nahezu jedes vorhandene SCM oder Build-Tool integriert werden. Plugins anzeigen. Erweiterbarkeit: Die meisten Teile von Jenkins können erweitert und modifiziert werden, und es ist einfach, neue Jenkins-Plugins zu erstellen. So können Sie Jenkins an Ihre Bedürfnisse anpassen. Verteilte Builds: Jenkins kann Build- / Testlasten auf mehrere Computer mit unterschiedlichen Betriebssystemen verteilen. Software für OS X, Linux und Windows erstellen? Kein Problem.
Installation:
$ wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
$ sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
$ sudo apt-get update
$ sudo apt-get install jenkins
to do more refer link :
Ref: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu
Ref: http://www.vogella.com/tutorials/Jenkins/article.html
Ref: https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins
Verzeichnis JENKINS_HOME Jenkins benötigt etwas Speicherplatz, um Builds durchzuführen und Archive zu speichern. Sie können diesen Speicherort auf dem Konfigurationsbildschirm von Jenkins überprüfen. Standardmäßig ist dies auf ~ / .jenkins festgelegt. Sie können dies jedoch auf eine der folgenden Arten ändern: Setzen Sie die Umgebungsvariable "JENKINS_HOME" auf das neue Ausgangsverzeichnis, bevor Sie den Servlet-Container starten. Legen Sie die Systemeigenschaft "JENKINS_HOME" für den Servlet-Container fest. Setzen Sie den JNDI-Umgebungseintrag "JENKINS_HOME" auf das neue Verzeichnis. Weitere Informationen dazu, wie Sie dies für Ihren Container tun, finden Sie in der Container-spezifischen Dokumentationssammlung. Sie können diesen Ort auch ändern, nachdem Sie Jenkins eine Zeit lang verwendet haben. Stoppen Sie dazu Jenkins vollständig, verschieben Sie den Inhalt vom alten JENKINS_HOME in das neue Zuhause, legen Sie das neue JENKINS_HOME fest und starten Sie Jenkins erneut. JENKINS_HOME hat eine ziemlich offensichtliche Verzeichnisstruktur, die wie folgt aussieht:
JENKINS_HOME
+- config.xml (jenkins root configuration)
+- *.xml (other site-wide configuration files)
+- userContent (files in this directory will be served under your http://server/userContent/)
+- fingerprints (stores fingerprint records)
+- plugins (stores plugins)
+- workspace (working directory for the version control system)
+- [JOBNAME] (sub directory for each job)
+- jobs
+- [JOBNAME] (sub directory for each job)
+- config.xml (job configuration file)
+- latest (symbolic link to the last successful build)
+- builds
+- [BUILD_ID] (for each build)
+- build.xml (build result summary)
+- log (log file)
+- changelog.xml (change log)
Jenkins Build Jobs:
Das Erstellen eines neuen Build-Jobs in Jenkins ist einfach: Klicken Sie im Jenkins-Dashboard auf den Menüpunkt "Neuer Job". Jenkins unterstützt verschiedene Arten von Build-Jobs, die Ihnen angezeigt werden, wenn Sie einen neuen Job erstellen
Freestyle-Softwareprojekt
Freestyle-Build-Jobs sind Universal-Build-Jobs, die ein Höchstmaß an Flexibilität bieten.
Maven-Projekt Das "Maven2 / 3-Projekt" ist ein speziell für Maven-Projekte angepasster Build-Job. Jenkins kennt Maven-Pom-Dateien und Projektstrukturen und kann die Informationen aus der POM-Datei verwenden, um den Arbeitsaufwand für das Einrichten Ihres Projekts zu reduzieren.
Arbeitsablauf
Koordiniert lange laufende Aktivitäten, die sich über mehrere Build-Slaves erstrecken können. Geeignet für den Bau von Pipelines und / oder für das Organisieren komplexer Aktivitäten, die sich nicht einfach in einen frei gestalteten Jobtyp einfügen.
Überwachen eines externen Jobs Mit dem Build-Job „Überwachen eines externen Jobs“ können Sie nicht interaktive Prozesse, z. B. Cron-Jobs, im Auge behalten.
Multikonfigurationsjob Mit dem "Multikonfigurationsprojekt" (auch als "Matrixprojekt" bezeichnet) können Sie denselben Buildjob in vielen verschiedenen Konfigurationen ausführen. Diese leistungsstarke Funktion kann nützlich sein, um eine Anwendung in vielen verschiedenen Umgebungen, mit unterschiedlichen Datenbanken oder sogar auf verschiedenen Build-Maschinen zu testen.
1. Erstellen eines Softwareprojekts (freier Stil)
Mit Jenkins können Sie typische Build-Server-Aufgaben ausführen, z. B. kontinuierliche / offizielle / nächtliche Builds, Tests oder einige sich wiederholende Batch-Tasks. Dies wird in Jenkins als "Free-Style-Softwareprojekt" bezeichnet. Einrichten des Projekts Gehen Sie zur Jenkins-Hauptseite, wählen Sie "Neuer Job" und dann "Erstellen Sie ein Free-Style-Softwareprojekt". Dieser Jobtyp besteht aus den folgenden Elementen: optionaler SCM, z. B. CVS oder Subversion, wo sich Ihr Quellcode befindet. Optionale Auslöser zur Steuerung, wann Jenkins Builds ausführt. eine Art Build-Skript, das den Build ausführt (Ant, Maven, Shell-Script, Batch-Datei usw.), wobei die eigentliche Arbeit optionale Schritte zum Sammeln von Informationen aus dem Build ausführt, wie z Ergebnisse. optionale Schritte, um andere Personen / Systeme mit dem Build-Ergebnis zu benachrichtigen, z. B. Senden von E-Mails, IMs, Aktualisieren des Problem-Trackers usw.
Builds für Nicht-Source-Control-Projekte Manchmal ist es erforderlich, ein Projekt nur zu Demonstrationszwecken zu erstellen, oder der Zugriff auf ein SVN / CVS-Repository ist nicht verfügbar. Wenn Sie das Projekt als "Keine" unter "Quellcodeverwaltung" konfigurieren, müssen Sie Folgendes tun:
- Erstellen Sie das Projekt mindestens einmal (es wird fehlschlagen), Jenkins erstellt jedoch die Struktur jenkins / workspace / PROJECTNAME /
- Kopieren Sie die Projektdateien nach jenkins / workspace / PROJECTNAME /
- Bauen Sie erneut auf und konfigurieren Sie sie entsprechend
Jenkins Set Umgebungsvariablen
Wenn ein Jenkins-Job ausgeführt wird, werden einige Umgebungsvariablen festgelegt, die Sie in Ihrem Shell-Skript, Batch-Befehl, Ant-Skript oder Maven-POM verwenden können. Um die Liste der Variablen anzuzeigen, klicken Sie auf ENVIRONMENT_VARIABLE
Automatische Builds konfigurieren
Builds in Jenkins können periodisch ausgelöst werden (nach einem in der Konfiguration festgelegten Zeitplan), oder wenn Quelländerungen im Projekt erkannt wurden, oder sie können automatisch durch Anfordern der URL ausgelöst werden:
http: // YOURHOST / jenkins / job / PROJEKTNAME / build
Dadurch können Sie Jenkins-Builds in verschiedene Setups einbinden. Weitere Informationen (insbesondere bei aktivierter Sicherheit) finden Sie unter API für den Remotezugriff.
Builds durch Quelländerungen
Jenkins kann Ihr Revisionskontrollsystem nach Änderungen abfragen. Sie können angeben, wie oft Jenkins Ihr Revisionskontrollsystem mit der gleichen Syntax wie crontab unter Unix / Linux abfragt. Wenn Ihre Abfragezeit jedoch kürzer ist als die Abfrage Ihres Revisionskontrollsystems, benötigen Sie möglicherweise mehrere Builds für jede Änderung. Sie sollten Ihren Abfragezeitraum entweder so anpassen, dass er länger ist als der Zeitraum, der zum Abrufen Ihres Revisionskontrollsystems erforderlich ist, oder einen Auslöser nach dem Festschreiben verwenden. Sie können das Abrufprotokoll für jeden Build überprüfen, um zu sehen, wie lange es dauert, um Ihr System abzufragen.
Alternativ können Sie anstelle eines Abrufs in einem festen Intervall einen URL-Auslöser (oben beschrieben) verwenden, jedoch mit / polling anstelle von / build am Ende der URL. Dies führt dazu, dass Jenkins den SCM nach Änderungen abfragt und nicht sofort baut. Dies verhindert, dass Jenkins einen Build ohne relevante Änderungen für Commits ausführt, die sich auf Module oder Verzweigungen beziehen, die sich nicht auf den Job beziehen. Bei der Verwendung von / Abfragen muss der Job für die Abfrage konfiguriert sein, der Zeitplan kann jedoch leer sein.
Builds per E-Mail (sendmail)
Wenn Sie über das Root-Konto Ihres Systems verfügen und sendmail verwenden, habe ich es am einfachsten gefunden, / etc / aliases zu ändern und den folgenden Eintrag hinzuzufügen: jenkins-foo: "| / bin / wget -o / dev / null
http: // YOURHOST / jenkins / job / PROJECTNAME / build "
Führen Sie dann den Befehl "newaliases" aus, um sendmail die Änderung mitzuteilen. Immer wenn jemand eine E-Mail an "jenkins-foo @ yoursystem" sendet, wird ein neuer Build ausgelöst. Weitere Informationen zum Konfigurieren von sendmail finden Sie hier. Builds per E-Mail (qmail) Mit qmail können Sie /var/qmail/alias/.qmail-jenkins wie folgt schreiben: | / bin / wget -o / dev / null http: // YOURHOST / jenkins / job / PROJECTNAME / build "
2. Ein Maven-Projekt erstellen
Jenkins bietet einen Job-Typ für Maven 2/3 an. Dieser Jobtyp integriert Jenkins tief in Maven 2/3 und bietet die folgenden Vorteile im Vergleich zu einem allgemeineren, frei gestalteten Softwareprojekt.
Jenkins analysiert Maven POMs, um einen Großteil der Informationen zu erhalten, die für seine Arbeit erforderlich sind. Dadurch wird der Konfigurationsaufwand drastisch reduziert.
Jenkins hört auf Maven Hinrichtung und überlegt, was getan werden sollte, wenn er alleine ist. Beispielsweise wird der JUnit-Bericht automatisch aufgezeichnet, wenn Maven die Testphase ausführt. Wenn Sie das Javadoc-Ziel ausführen, zeichnet Jenkins Javadoc automatisch auf.
Jenkins erstellt automatisch Projektabhängigkeiten zwischen Projekten, die SNAPSHOT-Abhängigkeiten untereinander deklarieren. Siehe unten. Daher müssen Sie meist nur die SCM-Informationen konfigurieren und welche Ziele Sie ausführen möchten. Jenkins wird alles andere herausfinden.
Dieser Projekttyp kann automatisch die folgenden Funktionen bereitstellen:
Archivierte Artefakte eines Builds
Testergebnisse veröffentlichen
Lösen Sie Jobs für Projekte aus, bei denen es sich um nachgeschaltete Abhängigkeiten handelt
Stellen Sie Ihre Artefakte in einem Maven-Repository bereit
Breakout Testergebnisse nach Modul
Erstellen Sie optional nur geänderte Module neu, wodurch Ihre Builds beschleunigt werden
Automatische Build-Verkettung aus Modulabhängigkeiten
Jenkins liest Abhängigkeiten Ihres Projekts aus Ihrem POM. Wenn sie auch auf Jenkins aufbauen, werden Trigger so eingerichtet, dass ein neuer Build in einer dieser Abhängigkeiten automatisch einen neuen Build Ihres Projekts startet. Jenkins kennt alle möglichen Abhängigkeiten in POM. Nämlich übergeordnetes POM
<dependencies> section of your project
<plugins> section of your project
<extensions> section of your project
<reporting> section of your project
Bei diesem Prozess werden Versionen berücksichtigt, sodass Sie mehrere Versionen / Zweige Ihres Projekts auf demselben Jenkins verwenden können und Abhängigkeiten richtig ermitteln können. Beachten Sie, dass Abhängigkeitsversionsbereiche nicht unterstützt werden. Weitere Informationen finden Sie unter [ https://issues.jenkins-ci.org/browse/JENKINS-2787([1] .
Diese Funktion kann bei Bedarf deaktiviert werden - siehe Konfigurationsoption Erstellen, wenn eine SNAPSHOT-Abhängigkeit erstellt wird
Installation:
1 Gehen Sie zu Manage Jenkins >> System konfigurieren
- Im Maven Tab „Klicken Sie auf Maven Installation ......
Sie können entweder automatisch eine bestimmte Version von Maven von Jenkins installieren oder einen Pfad zu einer lokalen Maven-Installation angeben (Sie können beliebig viele Versionen von Maven für Ihre Build-Projekte konfigurieren und verschiedene Versionen von Maven für verschiedene Projekte verwenden. Wenn Sie das Kontrollkästchen Automatisch installieren aktivieren, lädt Jenkins die angeforderte Version von Maven für Sie herunter, installiert sie und installiert sie im Tools-Verzeichnis im Jenkins-Home-Verzeichnis.
Wie man es benutzt
Zunächst müssen Sie eine Maven-Installation konfigurieren (dieser Schritt kann übersprungen werden, wenn Sie DEV @ cloud verwenden). Sie können dies tun, indem Sie zum Bildschirm für die Systemkonfiguration gehen (Jenkins verwalten -> System konfigurieren). Klicken Sie im Abschnitt "Maven-Installationen" 1) auf die Schaltfläche Hinzufügen, 2) geben Sie einen Namen wie "Maven 3.0.3" und 3) wählen Sie die Version aus dem Dropdown-Menü aus.
Jenkins installiert diese Version jetzt automatisch, wenn sie benötigt wird (z. B. auf neuen Build-Maschinen), indem sie von Apache heruntergeladen und entpackt wird.
Erstellen Sie einen neuen Maven-Job:
- Klicken Sie auf "Neuer Job / Neues Element" auf der linken Seite
- Gib ihm einen Namen
- Wählen Sie das Projekt "Build a Maven 2/3".
- Speichern Sie Ihren Job
Jetzt müssen Sie Ihren Job konfigurieren
Wählen Sie den SCM aus, den Sie verwenden möchten (z. B. mit git).
Wählen Sie das Maven-Ziel aus, das Sie anrufen möchten
Fügen Sie die Repository-URL und die Anmeldeinformationen hinzu.
Überprüfen Sie den privaten Maven-Repo des Benutzers:
Sie können auch den eigenen Pfad für diesen Pfad definieren.
5 Projekt erstellen
Erstellen Sie Ihr Projekt, indem Sie auf "Erstellen" klicken, und klicken Sie auf der Fortschrittsleiste im linken Bereich "Build Executor Status", um zu sehen, wie Jenkins Maven installiert, Ihr Projekt auscheckt und es mit Maven erstellt.
Protokollierung:
https://wiki.jenkins-ci.org/display/JENKINS/Logging
Skriptkonsole:
Nützlich für die Fehlersuche, Diagnose oder Stapelaktualisierung von Jobs Jenkins bietet eine Skriptkonsole, über die Sie auf alle internen Komponenten von Jenkins zugreifen können. Diese Skripts sind in Groovy geschrieben und einige Beispiele finden Sie auf dieser Seite .
Konfigurieren Sie ein einfaches Build-Projekt mit dem Pipeline-Skript Jenkins 2
Hier erstellen wir eine Groovy-Pipeline in Jenkins 2, um die folgenden Schritte auszuführen:
- Überprüfen Sie alle 5 Minuten, ob neuer Code für unser Projekt festgelegt wurde
- Checkout-Code aus dem SCM-Repo
- Maven Kompilierung unseres Java-Codes
- Führen Sie unsere Integrationstests durch und veröffentlichen Sie die Ergebnisse
Hier sind die Schritte, die wir machen werden:
Stellen Sie sicher, dass wir mindestens eine 2.0-Version von Jenkins haben (Sie können dies in der rechten unteren Ecke Ihrer Seite überprüfen), z.
Klicken Sie auf der Jenkins-Startseite auf Neues Element
Geben Sie den Projektnamen ein und wählen Sie Pipeline
Wählen Sie im Abschnitt Build-Trigger die Option SCM abfragen und fügen Sie den folgenden 5-Minuten-CRON-Zeitplan hinzu:
*/5 * * * *
Wählen Sie im Abschnitt Pipeline entweder Pipeline Script oder Pipeline Script aus SCM aus
Wenn Sie im vorherigen Schritt Pipeline Script aus SCM ausgewählt haben, müssen Sie jetzt die URL des SCM-Repositorys (Git, Mercurial, Subversion) in der Repository-URL angeben, z. B.
http://github.com/example/example.git
. Sie müssen außerdem den Skriptpfad Ihrer Groovy-Skriptdatei in Ihrem Repository example.git angeben, z. B.pipelines/example.groovy
Kopieren Sie den folgenden Groovy-Code, entweder direkt im Groovy-Skriptfenster, wenn Sie zuvor auf Pipeline-Skript geklickt haben, oder in Ihrem
example.groovy
wenn Sie Pipeline-Skript aus SCM ausgewählt haben
node('remote') {
// Note : this step is only needed if you're using direct Groovy scripting
stage 'Checkout Git project'
git url: 'https://github.com/jglick/simple-maven-project-with-tests.git'
def appVersion = version()
if (appVersion) {
echo "Building version ${appVersion}"
}
stage 'Build Maven project'
def mvnHome = tool 'M3'
sh "${mvnHome}/bin/mvn -B -Dmaven.test.failure.ignore verify"
step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml'])
}
def version() {
def matcher = readFile('pom.xml') =~ '<version>(.+)</version>'
matcher ? matcher[0][1] : null
}
Jetzt können Sie Ihr erstes Jenkins-Projekt mit der Jenkins 2 Groovy-Pipeline kompilieren und testen.