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.

Geben Sie hier die Bildbeschreibung ein

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)

  1. Sichern Sie das Home-Verzeichnis von Jenkins
  2. Ersetzen Sie jenkins.war am folgenden Speicherort durch eine neue WAR-Datei. / usr / lib / jenkins / jenkins.war`
  3. Starten Sie Jenkins neu
  4. Überprüfen Sie festgesteckte Plugins und lösen Sie sie ggf. ab
  5. 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 .

  1. Stoppen Sie beide Jenkins-Server

  2. 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/

  3. Starten Sie Ihren neuen Jenkins-Server

Sie brauchen das vielleicht nicht, aber ich musste

  • Manage Jenkins und Reload Configuration from Disk .
  • Trennen und verbinden Sie alle Slaves erneut.
  • Vergewissern Sie sich, dass unter Configure System > Jenkins Location die Jenkins 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:

  1. Öffnen Sie Jenkins im Browser.
  2. Klicken Sie auf den Link Neuer Job .
  3. Geben Sie den Projektnamen ein und wählen Sie den Link Erstellen eines frei gestalteten Softwareprojekts .
  4. Klicken Sie auf die Schaltfläche OK .
  5. 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

  1. Aktivieren Sie unter den Build-Triggern das Optionsfeld neben Poll SCM .
  2. 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.
  3. 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.
  4. 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:

  1. Erstellen Sie das Projekt mindestens einmal (es wird fehlschlagen), Jenkins erstellt jedoch die Struktur jenkins / workspace / PROJECTNAME /
  2. Kopieren Sie die Projektdateien nach jenkins / workspace / PROJECTNAME /
  3. 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

  1. 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:

  1. Klicken Sie auf "Neuer Job / Neues Element" auf der linken Seite
  2. Gib ihm einen Namen
  3. Wählen Sie das Projekt "Build a Maven 2/3".
  4. Speichern Sie Ihren Job

Jetzt müssen Sie Ihren Job konfigurieren

  1. Wählen Sie den SCM aus, den Sie verwenden möchten (z. B. mit git).

  2. Wählen Sie das Maven-Ziel aus, das Sie anrufen möchten

  3. Fügen Sie die Repository-URL und die Anmeldeinformationen hinzu.

  4. Ü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:

  1. 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.

    Beispiel für die Jenkins-Version

  2. Klicken Sie auf der Jenkins-Startseite auf Neues Element

  3. Geben Sie den Projektnamen ein und wählen Sie Pipeline

  4. Wählen Sie im Abschnitt Build-Trigger die Option SCM abfragen und fügen Sie den folgenden 5-Minuten-CRON-Zeitplan hinzu: */5 * * * *

  5. Wählen Sie im Abschnitt Pipeline entweder Pipeline Script oder Pipeline Script aus SCM aus

  6. 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

  7. 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.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow