jenkins - rip tutorial · jenkins 2 overview . das vollständige Änderungsprotokoll ist auch auf...

43
jenkins #jenkins

Upload: others

Post on 20-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

  • jenkins

    #jenkins

  • Inhaltsverzeichnis

    Über 1

    Kapitel 1: Erste Schritte mit Jenkins 2

    Bemerkungen 2

    Versionen 2

    Jenkins 2

    Jenkins 1.x vs Jenkins 2.x 2

    Examples 5

    Installation 5

    Upgrade von Jenkins (RPM-Installationen) 5

    Nginx Proxy einrichten 6

    Plugin von externer Quelle installieren 7

    Verschieben Sie Jenkins von einem PC auf einen anderen 7

    Konfigurieren Sie ein Projekt in Jenkins 7

    Jenkins vollständige Einführung an einem Ort 8

    Konfigurieren Sie ein einfaches Build-Projekt mit dem Pipeline-Skript Jenkins 2 14

    Kapitel 2: Einrichten von Build Automation für iOS mit Shenzhen 16

    Examples 16

    iOS Build Automation Setup mit Shenzhen 16

    Kapitel 3: Einrichten von Jenkins für iOS Build-Automatisierung. 17

    Einführung 17

    Parameter 17

    Bemerkungen 17

    Examples 17

    Zeitplan-Beispiel 17

    Kapitel 4: Installieren Sie Jenkins unter Windows mit SSH-Unterstützung für private GitHub 19

    Examples 19

    GitHub-Pull-Anforderungen schlagen fehl 19

    PSExec.exe PS-Tool von Microsoft 19

    Generieren Sie einen neuen SSH-Schlüssel nur für Jenkins mit PSExec oder PSExec64 19

    Erstellen Sie die Jenkins-Berechtigungsnachweise 20

  • Führen Sie eine Test-Pull-Anforderung aus, um zu bestätigen, dass Sie fertig sind. 22

    Kapitel 5: Jenkins Groovy Scripting 24

    Examples 24

    Standardbenutzer erstellen 24

    Deaktivieren Sie den Setup-Assistenten 24

    Informationen zur Jenkins-Instanz 25

    So erhalten Sie Informationen zu einem Job von Jenkins 25

    Kapitel 6: Konfigurieren Sie Auto-Git-Push bei erfolgreicher Erstellung in Jenkins 27

    Einführung 27

    Examples 27

    Konfigurieren des Auto Push-Jobs 27

    Kapitel 7: Rollenstrategie-Plugin 36

    Examples 36

    Aufbau 36

    Rollen verwalten 36

    Rollen zuweisen 37

    Credits 40

  • Über

    You can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: jenkins

    It is an unofficial and free jenkins ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow. It is neither affiliated with Stack Overflow nor official jenkins.

    The content is released under Creative Commons BY-SA, and the list of contributors to each chapter are provided in the credits section at the end of this book. Images may be copyright of their respective owners unless otherwise specified. All trademarks and registered trademarks are the property of their respective company owners.

    Use the content presented in this book at your own risk; it is not guaranteed to be correct nor accurate, please send your feedback and corrections to [email protected]

    https://riptutorial.com/de/home 1

    http://riptutorial.com/ebook/jenkinshttps://archive.org/details/documentation-dump.7zmailto:[email protected]

  • Kapitel 1: Erste Schritte mit Jenkins

    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

    https://riptutorial.com/de/home 2

    http://jenkins.iohttp://www.oracle.comhttp://hudson-ci.orghttp://www.oracle.comhttps://en.wikipedia.org/wiki/Kohsuke_Kawaguchi

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

    https://riptutorial.com/de/home 3

  • Einen vollständigen Überblick darüber, was Jenkins 2 zu Jenkins hinzufügt, finden Sie in

    https://riptutorial.com/de/home 4

    http://i.stack.imgur.com/R9lgS.png

  • Jenkins 2 Overview .

    Das vollständige Änderungsprotokoll ist auch auf der Jenkins-Website verfügbar.

    Examples

    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)

    https://riptutorial.com/de/home 5

    https://jenkins.io/2.0/https://jenkins.io/changelog/

  • Sichern Sie das Home-Verzeichnis von Jenkins1. Ersetzen Sie jenkins.war am folgenden Speicherort durch eine neue WAR-Datei. / usr / lib / jenkins / jenkins.war`

    2.

    Starten Sie Jenkins neu3. Überprüfen Sie festgesteckte Plugins und lösen Sie sie ggf. ab4. Laden Sie die Konfiguration erneut von der Festplatte5.

    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://.com

    anstelle der Standardeinstellung

    http://.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;

    https://riptutorial.com/de/home 6

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

    Stoppen Sie beide Jenkins-Server1.

    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/

    2.

    Starten Sie Ihren neuen Jenkins-Server3.

    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:

    Öffnen Sie Jenkins im Browser.1. Klicken Sie auf den Link Neuer Job .2.

    https://riptutorial.com/de/home 7

    https://wiki.jenkins-ci.org/display/JENKINS/Plugins)https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntuhttps://cloudbees.zendesk.com/hc/en-us/articles/216118748-How-to-Start-Stop-or-Restart-your-Instancehttps://cloudbees.zendesk.com/hc/en-us/articles/216118748-How-to-Start-Stop-or-Restart-your-Instance

  • Geben Sie den Projektnamen ein und wählen Sie den Link Erstellen eines frei gestalteten Softwareprojekts .

    3.

    Klicken Sie auf die Schaltfläche OK .4. Aktivieren Sie im Abschnitt Quellcodeverwaltung das Optionsfeld neben Ihrem Quellcodeverwaltungstool. In meinem Fall habe ich Git ausgewählt.

    5.

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

    7.

    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.

    8.

    Scrollen Sie nach unten und speichern Sie .9.

    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:

    https://riptutorial.com/de/home 8

  • $ 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

    https://riptutorial.com/de/home 9

    https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntuhttp://www.vogella.com/tutorials/Jenkins/article.htmlhttps://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins

  • 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 /

    1.

    Kopieren Sie die Projektdateien nach jenkins / workspace / PROJECTNAME /2. Bauen Sie erneut auf und konfigurieren Sie sie entsprechend3.

    Jenkins Set Umgebungsvariablen

    Wenn ein Jenkins-Job ausgeführt wird, werden einige Umgebungsvariablen festgelegt, die Sie in

    https://riptutorial.com/de/home 10

  • 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

    https://riptutorial.com/de/home 11

    http://yourhost/jenkins/job/PROJECTNAME/buildhttp://yourhost/jenkins/job/PROJECTNAME/buildhttp://yourhost/jenkins/job/PROJECTNAME/build

  • 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

    section of your project section of your project section of your project 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:

    https://riptutorial.com/de/home 12

    https://issues.jenkins-ci.org/browse/JENKINS-2787%5D%5B1%5Dhttps://issues.jenkins-ci.org/browse/JENKINS-2787%5D%5B1%5D

  • 1 Gehen Sie zu Manage Jenkins >> System konfigurieren

    Im Maven Tab „Klicken Sie auf Maven Installation ......2.

    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 Seite1. Gib ihm einen Namen2. Wählen Sie das Projekt "Build a Maven 2/3".3. Speichern Sie Ihren Job4.

    Jetzt müssen Sie Ihren Job konfigurieren

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

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

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

    Überprüfen Sie den privaten Maven-Repo des Benutzers:4.

    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

    https://riptutorial.com/de/home 13

    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.

    1.

    Klicken Sie auf der Jenkins-Startseite auf Neues Element2.

    Geben Sie den Projektnamen ein und wählen Sie Pipeline3.

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

    4.

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

    5.

    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

    6.

    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

    7.

    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}"

    https://riptutorial.com/de/home 14

    https://wiki.jenkins-ci.org/display/JENKINS/Logginghttp://i.stack.imgur.com/NCqh1.png

  • } 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') =~ '(.+)' matcher ? matcher[0][1] : null }

    Jetzt können Sie Ihr erstes Jenkins-Projekt mit der Jenkins 2 Groovy-Pipeline kompilieren und testen.

    Erste Schritte mit Jenkins online lesen: https://riptutorial.com/de/jenkins/topic/919/erste-schritte-mit-jenkins

    https://riptutorial.com/de/home 15

    https://riptutorial.com/de/jenkins/topic/919/erste-schritte-mit-jenkinshttps://riptutorial.com/de/jenkins/topic/919/erste-schritte-mit-jenkins

  • Kapitel 2: Einrichten von Build Automation für iOS mit Shenzhen

    Examples

    iOS Build Automation Setup mit Shenzhen

    Teil I: Richten Sie den Mac-Computer für die Verwendung von Shenzhen ein

    Geh zum Terminal

    Installieren Sie Shenzhen

    Sudo Edelstein installieren Shenzhen

    Sudo Gem installieren Nomad-Cli

    Laden Sie das XCode-Befehlszeilenprogramm herunter

    xcode-select --install

    Popup erscheint mit dem folgenden Text

    Der Befehl xcode-select erfordert die Befehlszeilen-Entwicklerwerkzeuge. Möchten Sie die Tools jetzt installieren? "

    Klicken Sie auf - Installieren

    Projektverzeichnis erstellen

    gitclone dein projekt

    Git Klon https: //[email protected]/company/projectrepo.git

    Projekt mit folgendem Befehl erstellen

    ipa build --verbose

    PS: Wenn Sie Fehler sehen, wählen Sie das Active Provisioning-Profil aus und machen Sie einen Commit für die Projektdateien. und führen Sie ipa build --verbose erneut aus.

    Einrichten von Build Automation für iOS mit Shenzhen online lesen: https://riptutorial.com/de/jenkins/topic/8002/einrichten-von-build-automation-fur-ios-mit-shenzhen

    https://riptutorial.com/de/home 16

    https://[email protected]/company/projectrepo.githttps://riptutorial.com/de/jenkins/topic/8002/einrichten-von-build-automation-fur-ios-mit-shenzhen

  • Kapitel 3: Einrichten von Jenkins für iOS Build-Automatisierung.

    Einführung

    Jetzt können Sie Continuous Integration und Continuous Delivery ( CI / CD ) als Code mit Jenkins 2.0 für Ihre Projekte in iOS 10 definieren. Aktivitäten wie Erstellen, Testen, Codeabdeckung, Prüfstil, Berichte und Benachrichtigungen können nur in einem beschrieben werden Datei.

    Um den vollständigen Artikel zu lesen, gehen Sie zu Pipeline in Jenkins 2.0 als Code für iOS 10 und XCode 8

    Parameter

    Parameter Einzelheiten

    Knoten ("iOS-Knoten")

    Jenkins-Knoten mit Mac OS. Wenn Jenkins unter Mac OS installiert ist, verwenden Sie den node {....}

    Bemerkungen

    Der Artikel ist in beiden Sprachen verfasst: Englisch und Spanisch.

    Examples

    Zeitplan-Beispiel

    Der Quellcode kann geklont oder von GitHub heruntergeladen werden , um ihn zu testen.

    node('iOS Node') { stage('Checkout/Build/Test') { // Checkout files. checkout([ $class: 'GitSCM', branches: [[name: 'master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[ name: 'github', url: 'https://github.com/mmorejon/time-table.git' ]] ]) // Build and Test

    https://riptutorial.com/de/home 17

    http://mmorejon.github.io/en/blog/build-pipeline-jenkins2-as-code-with-ios10-xcode8/http://mmorejon.github.io/en/blog/build-pipeline-jenkins2-as-code-with-ios10-xcode8/https://github.com/mmorejon/time-table

  • sh 'xcodebuild -scheme "TimeTable" -configuration "Debug" build test -destination "platform=iOS Simulator,name=iPhone 6,OS=10.1" -enableCodeCoverage YES | /usr/local/bin/xcpretty -r junit' // Publish test restults. step([$class: 'JUnitResultArchiver', allowEmptyResults: true, testResults: 'build/reports/junit.xml']) } stage('Analytics') { parallel Coverage: { // Generate Code Coverage report sh '/usr/local/bin/slather coverage --jenkins --html --scheme TimeTable TimeTable.xcodeproj/' // Publish coverage results publishHTML([allowMissing: false, alwaysLinkToLastBuild: false, keepAll: false, reportDir: 'html', reportFiles: 'index.html', reportName: 'Coverage Report']) }, Checkstyle: { // Generate Checkstyle report sh '/usr/local/bin/swiftlint lint --reporter checkstyle > checkstyle.xml || true' // Publish checkstyle result step([$class: 'CheckStylePublisher', canComputeNew: false, defaultEncoding: '', healthy: '', pattern: 'checkstyle.xml', unHealthy: '']) }, failFast: true|false } stage ('Notify') { // Send slack notification slackSend channel: '#my-team', message: 'Time Table - Successfully', teamDomain: 'my-team', token: 'my-token' } }

    Einrichten von Jenkins für iOS Build-Automatisierung. online lesen: https://riptutorial.com/de/jenkins/topic/8868/einrichten-von-jenkins-fur-ios-build-automatisierung-

    https://riptutorial.com/de/home 18

    https://riptutorial.com/de/jenkins/topic/8868/einrichten-von-jenkins-fur-ios-build-automatisierung-

  • Kapitel 4: Installieren Sie Jenkins unter Windows mit SSH-Unterstützung für private GitHub-Repositorys

    Examples

    GitHub-Pull-Anforderungen schlagen fehl

    Jenkins-Installationen mit den Plug-Ins Git und SSH funktionieren nicht, wenn Sie versuchen, ein privates Repository aus GitHub zu ziehen.

    PSExec.exe PS-Tool von Microsoft

    Der erste Schritt, um dieses Problem zu beheben, war das Herunterladen von PSTools und das Extrahieren der Tools an einem geeigneten Ort auf dem Build-Server (z. B. c: \ Programs \ PSTools ist da, in dem ich meine extrahierte).

    Generieren Sie einen neuen SSH-Schlüssel nur für Jenkins mit PSExec oder PSExec64

    Öffnen Sie zuerst die Eingabeaufforderung und "Als Administrator ausführen".1. Sobald die Eingabeaufforderung geöffnet ist, navigieren Sie zum PSTools-Verzeichnis.2.

    https://riptutorial.com/de/home 19

    https://i.stack.imgur.com/COpK2.pnghttps://technet.microsoft.com/en-us/sysinternals/pstools.aspx

  • Von der Eingabeaufforderung aus müssen wir git-bash mit PSExec oder PSExec64 als Local Service ausführen, den Jenkins standardmäßig auf dem Build-Server ausführt.

    3.

    Wir verwenden die Option -i, um PSExec als interaktiv auszuführen, und die Option -s, um git-bash als lokalen Dienst auszuführen

    4.

    Folgen Sie den Anweisungen zum Erstellen eines ssh-Schlüssels in GitHub - Generieren eines neuen SSH-Schlüssels und Hinzufügen zum SSH-Agenten

    5.

    Wenn Sie sich auf einem 64-Bit-Windows-System befinden, kopieren Sie den .ssh-Ordner nach C: \ Windows \ SysWOW64 \ config \ systemprofile.ssh (dies war auf meinem 64-Bit-Windows-System nicht erforderlich, aber dort waren einige Anweisungen, die die .ssh-Dateien anzeigen sollte dort gespeichert werden, etwas, das zu beachten ist, wenn Sie immer noch Probleme haben).

    6.

    Fügen Sie den öffentlichen SSH-Schlüssel zu Ihren Github-Schlüsseln hinzu.7.

    Your Commandline should look similar to this: C:\Programs\PSTools> PSExec.exe -i -s C:\Programs\Git\git-bash

    Erstellen Sie die Jenkins-Berechtigungsnachweise

    Der schwierige Teil ist vorbei! Erstellen Sie nun einfach die Berechtigungsnachweise, die in Jenkins verwendet werden sollen. Verwenden Sie Ihren eigenen Benutzernamen und die zur Erstellung des SSH-Schlüssels verwendete Passphrase.

    https://riptutorial.com/de/home 20

    https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

  • So sollte es jetzt aussehen (mit Ihrem eigenen privaten Github-Repo und Benutzernamen:

    https://riptutorial.com/de/home 21

    https://i.stack.imgur.com/PjxTL.png

  • Führen Sie eine Test-Pull-Anforderung aus, um zu bestätigen, dass Sie fertig sind.

    Speichern Sie eine Test-Pull-Anfrage und führen Sie sie aus, und Sie sollten keine weiteren Probleme mehr haben, wenn Jenkins SSH auf Ihrem Windows-Build-Computer verwendet.

    https://riptutorial.com/de/home 22

    https://i.stack.imgur.com/8HyPV.png

  • Installieren Sie Jenkins unter Windows mit SSH-Unterstützung für private GitHub-Repositorys online lesen: https://riptutorial.com/de/jenkins/topic/7626/installieren-sie-jenkins-unter-windows-mit-ssh-unterstutzung-fur-private-github-repositorys

    https://riptutorial.com/de/home 23

    https://i.stack.imgur.com/dlu94.pnghttps://riptutorial.com/de/jenkins/topic/7626/installieren-sie-jenkins-unter-windows-mit-ssh-unterstutzung-fur-private-github-repositoryshttps://riptutorial.com/de/jenkins/topic/7626/installieren-sie-jenkins-unter-windows-mit-ssh-unterstutzung-fur-private-github-repositorys

  • Kapitel 5: Jenkins Groovy Scripting

    Examples

    Standardbenutzer erstellen

    Erstellen Sie eine groovy Datei mit dem Pfad $JENKINS_HOME/init.groovy.d/basic-security.groovy

    1.

    In Ubuntu 16 liegt Jenkins Home-Verzeichnis in /var/lib/jenkins

    Nächsten Code in Datei ablegen2.

    #!groovy import jenkins.model.* import hudson.security.* def instance = Jenkins.getInstance() def hudsonRealm = new HudsonPrivateSecurityRealm(false) hudsonRealm.createAccount("admin_name","admin_password") instance.setSecurityRealm(hudsonRealm) instance.save()

    Starten Sie den Jenkins-Dienst neu3. Nach dem Start von Jenkins müssen Sie die Datei $JENKINS_HOME/init.groovy.d/basic-security.groovy entfernen

    4.

    Deaktivieren Sie den Setup-Assistenten

    Öffnen Sie die Standardkonfigurationsdatei von Jenkins und fügen Sie in JAVA_ARGS nächsten Schlüssel -Djenkins.install.runSetupWizard=false

    1.

    In Ubuntu befinden sich 16 Standarddateien in /etc/default/jenkins

    Erstellen Sie eine groovy Datei mit dem Pfad $JENKINS_HOME/init.groovy.d/basic-security.groovy

    2.

    In Ubuntu 16 liegt Jenkins Home-Verzeichnis in /var/lib/jenkins

    Nächsten Code in Datei ablegen3.

    #!groovy import jenkins.model.* import hudson.util.*; import jenkins.install.*; def instance = Jenkins.getInstance()

    https://riptutorial.com/de/home 24

  • instance.setInstallState(InstallState.INITIAL_SETUP_COMPLETED)

    Starten Sie den Jenkins-Dienst neu4. Nach dem Start von Jenkins müssen Sie die Datei $JENKINS_HOME/init.groovy.d/basic-security.groovy entfernen

    5.

    Danach fordert Sie Jenkins nicht auf, zu bestätigen, dass Sie Administrator sind, und die Plugins-Installationsseite wird nicht angezeigt.

    Informationen zur Jenkins-Instanz

    Öffnen Sie Ihre jenkins-Instanzskriptkonsole http: // yourJenkins: port / script. Das folgende Beispiel zeigt, wie Sie Informationen zu dieser Instanz erhalten. Kopieren Sie den Code in die Konsole und klicken Sie auf "Ausführen".

    /* This scripts shows how to get basic information about Jenkins instance */ def jenkins = Jenkins.getInstance() println "Jenkins version: ${jenkins.getVersion()}" println "Available JDKs: ${jenkins.getInstance().getJDKs()}" println "Connected Nodes:" jenkins.getNodes().each{ println it.displayName } println "Configured labels: ${jenkins.getLabels()}"

    In diesem Beispiel sehen Sie Informationen zur Jenkins-Version, JDKs, Agenten (Slaves) und Labels.

    So erhalten Sie Informationen zu einem Job von Jenkins

    Öffnen Sie Ihre jenkins-Instanzskriptkonsole http: // yourJenkins: port / script. Nachfolgend finden Sie ein Beispiel, wie Sie Informationen zu einem bestimmten Auftrag erhalten. Kopieren Sie den Code in die Konsole, ändern Sie den Jobnamen in den erforderlichen Job und klicken Sie auf "Ausführen".

    /*This script shows how to get basic information about a job and its builds*/ def jenkins = Jenkins.getInstance() def jobName = "myJob" def job = jenkins.getItem(jobName) println "Job type: ${job.getClass()}" println "Is building: ${job.isBuilding()}" println "Is in queue: ${job.isInQueue()}" println "Last successfull build: ${job.getLastSuccessfulBuild()}" println "Last failed build: ${job.getLastFailedBuild()}" println "Last build: ${job.getLastBuild()}" println "All builds: ${job.getBuilds().collect{ it.getNumber()}}"

    Zuerst erhalten wir das Jenkins-Instanzobjekt, dann rufen wir mit dieser Instanz das Jobobjekt (Element) ab. Aus dem Jobobjekt können wir verschiedene Informationen abrufen, z.

    https://riptutorial.com/de/home 25

    http://yourJenkins:port/scripthttp://yourJenkins:port/script

  • Jenkins Groovy Scripting online lesen: https://riptutorial.com/de/jenkins/topic/7562/jenkins-groovy-scripting

    https://riptutorial.com/de/home 26

    https://riptutorial.com/de/jenkins/topic/7562/jenkins-groovy-scriptinghttps://riptutorial.com/de/jenkins/topic/7562/jenkins-groovy-scripting

  • Kapitel 6: Konfigurieren Sie Auto-Git-Push bei erfolgreicher Erstellung in Jenkins

    Einführung

    In diesem Dokument werden Sie durch die Schritte zum Konfigurieren eines Jenkins-Jobs geführt, der dem Benutzer die Einrichtung des automatischen Push-Vorgangs beim erfolgreichen Build ermöglicht. Der Push-Vorgang kann vom Benutzer gesteuert werden. Der Benutzer kann wählen, ob er den Auto-Push-Vorgang bei erfolgreicher Erstellung ausführen möchte oder nicht.

    Examples

    Konfigurieren des Auto Push-Jobs

    Erstellen Sie einen Build-Job (entsprechend Ihrer Anforderung). Für dieses Beispiel habe ich einen Freestyle-Job (AutoPush) erstellt, um den ANT-Build auszuführen.

    Wir werden zwei Variablen erstellen, PUSH (Choice Parameter) und TAG_NUMBER (String Parameter).

    Wir können den Wert YES oder NO für PUSH auswählen. Dies entscheidet, ob der Code bei erfolgreichem Build an ein Tag übergeben wird oder nicht.

    Wir können einen Tagnamen (Beispiel 1.0.1) für TAG_NUMBER angeben, um im fernen Repository ein neues Tag (Beispiel 1.0.1) mit demselben Namen zu erstellen, oder einen vorhandenen Tagnamen angeben, um ein vorhandenes Tag zu aktualisieren.

    Nun geht es weiter zur Jobkonfiguration.

    Aktivieren Sie das Kontrollkästchen "Dieses Projekt ist parametriert", erstellen Sie einen Auswahlparameter mit der Bezeichnung "PUSH" und geben Sie als Auswahl JA und NEIN an. Dieser Parameter entscheidet, ob Sie den Code auf ein bestimmtes Tag / Release verschieben möchten oder nicht.

    1.

    https://riptutorial.com/de/home 27

    https://i.stack.imgur.com/U1hcD.png

  • Erstellen Sie dann einen String-Parameter mit dem Namen "TAG_NUMBER". Mit diesem Parameter können Sie eine neue Tag-Nummer zum Erstellen eines neuen Tags oder eine vorhandene Tag-Nummer zum Aktualisieren eines vorhandenen Tags angeben.

    2.

    Wählen Sie im Abschnitt Quellcodeverwaltung Git aus und geben Sie die Repository-URL an. Dieses Repository enthält den Quellcode, den Sie erstellen möchten. Nach einem erfolgreichen Build wird ein Release-Tag im selben Repository erstellt.

    3.

    https://riptutorial.com/de/home 28

    https://i.stack.imgur.com/cOUgN.pnghttps://i.stack.imgur.com/tQh44.png

  • Nachdem Sie die Repository-Details hinzugefügt haben, klicken Sie auf Erweitert und geben Sie Ihrem Repository einen Namen, der später im Git Publisher-Plugin zur Identifizierung des Repositorys verwendet wird.

    4.

    https://riptutorial.com/de/home 29

    https://i.stack.imgur.com/PgJJu.pnghttps://i.stack.imgur.com/lyKCw.png

  • Fügen Sie dann den Erstellungsschritt hinzu. In diesem Beispiel baue ich ein ANT-Projekt.5.

    Wählen Sie nun im Abschnitt "Post-Build-Aktionen" das Plugin "Flexi Publish" aus. Wählen Sie den Wert "Und" aus der Dropdown-Liste für die bedingte Aktion (Ausführen?). Wählen Sie dann "String Match" aus der Dropdown-Liste für die Ausführungsbedingung (&&).

    6.

    https://riptutorial.com/de/home 30

    https://i.stack.imgur.com/9ur7Z.pnghttps://i.stack.imgur.com/9l98b.png

  • https://riptutorial.com/de/home 31

    https://i.stack.imgur.com/C2FYN.pnghttps://i.stack.imgur.com/tccWc.png

  • Geben Sie nach der Auswahl der Zeichenfolge $ PUSH als Wert für String 1 und YES als Wert für String 2 an. Wenn Sie also den Build ausführen, wenn Sie den Wert von PUSH als YES wählen, werden String 1 (= $ PUSH) und String 2 (= YES) miteinander verglichen und der Git-Push-Vorgang ausgelöst löst den Git-Push-Vorgang aus.

    7.

    Choose the value of PUSH -> YES OR NO -> Chosen value “YES” then, $PUSH = YES AS String 1 = $PUSH => String 1 = YES Again, String 2 = YES, hence String 2 == String 1 (String match) Then, trigger the Git push action.

    https://riptutorial.com/de/home 32

    https://i.stack.imgur.com/NK1Y4.png

  • Klicken Sie nun auf die Dropdown-Option "Hinzufügen", um die Git-Publisher-Aktion hinzuzufügen, die auf der Grundlage der Zeichenfolge-Übereinstimmungsbedingung ausgelöst wird.

    8.

    https://riptutorial.com/de/home 33

    https://i.stack.imgur.com/ILfu6.png

  • https://riptutorial.com/de/home 34

    https://i.stack.imgur.com/gdKSW.pnghttps://i.stack.imgur.com/G83MK.png

  • Nachdem Sie Git Publisher ausgewählt haben, führen Sie die Konfiguration wie folgt aus:9.

    Nach der Konfiguration speichern Sie den Job und Sie sind fertig.

    Konfigurieren Sie Auto-Git-Push bei erfolgreicher Erstellung in Jenkins online lesen: https://riptutorial.com/de/jenkins/topic/8972/konfigurieren-sie-auto-git-push-bei-erfolgreicher-erstellung-in-jenkins

    https://riptutorial.com/de/home 35

    https://i.stack.imgur.com/uOhDL.pnghttps://riptutorial.com/de/jenkins/topic/8972/konfigurieren-sie-auto-git-push-bei-erfolgreicher-erstellung-in-jenkinshttps://riptutorial.com/de/jenkins/topic/8972/konfigurieren-sie-auto-git-push-bei-erfolgreicher-erstellung-in-jenkins

  • Kapitel 7: Rollenstrategie-Plugin

    Examples

    Aufbau

    Rollen verwalten

    Globale Rollen - Erstellen Sie Rollen mit ausgewählten Jenkins-Features. In der Regel können für ein Entwicklungsprojekt 2 Rollen erstellt werden.

    Die globale Rolle des Entwicklers kann auf Nur Gesamt : Lesen gesetzt werden1. Die ProjectOwner-Global-Rolle kann auf Overall : Read gesetzt werden2.

    Dies beschränkt Entwickler und Projektbesitzer auf den Lesezugriff auf alle Jenkins-Funktionen.

    Projektrollen - Erstellen Sie Rollen, indem Sie den Benutzerzugriff auf die jeweiligen Job- und Berechtigungsmerkmale von jenkins mit regulären Ausdrücken einschränken.

    ZB für ein Entwicklungsprojekt 'MyProjectA'; Projektbesitzer müssen über vollständige Berechtigungen für Jobs verfügen, und Entwickler benötigen Build-Zugriff auf Jenkins-Jobs. Wir erstellen also folgende Rollen:

    ProjectA_admin - Alle Optionen unter Job viz prüfen. Erstellen, Abbrechen, Konfigurieren, Erstellen, Löschen, Erkennen, Verschieben, Lesen, Arbeitsbereich

    ProjectA_dev - Überprüfen Sie die Optionen Build, Cancel, Read, Workspace unter Job•

    https://riptutorial.com/de/home 36

    http://i.stack.imgur.com/sXAfc.png

  • Um die oben genannten Projekte auf die jeweiligen Projektbesitzer und -entwickler zu beschränken, müssen alle Jobs einem vordefinierten Muster folgen.

    Angenommen, 'MyProjectA' benötigt 3 Jenkins-Build-Jobs: MyProjectA_Dev_Build, MyProjectA_QA_Build, MyProjectA_Nightly_Sonar_Analysis

    Um den Projektbesitzer und die Entwickler des Projekts 'MyProjectA' auf übergeordnete Build-Jobs zu beschränken, geben Sie ' Pattern ' als MyProjectA an. *.

    Rollen zuweisen

    Hilft bei der Zuordnung von Benutzern oder Projektgruppen zu den jeweiligen globalen oder Projektrollen. Um beispielsweise einen Entwickler 'Gautam' der globalen Entwicklerrolle zuzuweisen, geben Sie den Benutzernamen 'Gautam' ein, klicken Sie auf Hinzufügen und aktivieren Sie das Kontrollkästchen neben 'Gautam' und unterhalb der globalen Entwicklerrolle.

    https://riptutorial.com/de/home 37

    http://i.stack.imgur.com/HwDpt.png

  • Fügen Sie den Benutzer auf ähnliche Weise unter Projektrollen hinzu, und wählen Sie die entsprechenden Projektrollen aus, um die erforderlichen Projektrollen zuzuweisen.

    Wenn Sie unter den Screenshots darauf achten, können Sie sehen, dass der Benutzer 'gautam' nur auf Projekte zugreifen kann, die mit MyProjectA beginnen. Außerdem ist der Zugriff des Benutzers auf das Erstellen beschränkt und die Konfiguration fehlt.

    https://riptutorial.com/de/home 38

    http://i.stack.imgur.com/ShAIM.pnghttp://i.stack.imgur.com/rqyzr.png

  • Rollenstrategie-Plugin online lesen: https://riptutorial.com/de/jenkins/topic/5741/rollenstrategie-plugin

    https://riptutorial.com/de/home 39

    http://i.stack.imgur.com/RYVRn.pnghttps://riptutorial.com/de/jenkins/topic/5741/rollenstrategie-pluginhttps://riptutorial.com/de/jenkins/topic/5741/rollenstrategie-plugin

  • Credits

    S. No

    Kapitel Contributors

    1Erste Schritte mit Jenkins

    acalb, Community, Gautam Jose, Girish Kumar, Katu, Pablo, Pom12, Priyanshu Shekhar, Rogério Peixoto, S.K. Venkat, Seb, Tyler

    2Einrichten von Build Automation für iOS mit Shenzhen

    Ichthyocentaurs

    3

    Einrichten von Jenkins für iOS Build-Automatisierung.

    Manuel Morejón

    4

    Installieren Sie Jenkins unter Windows mit SSH-Unterstützung für private GitHub-Repositorys

    Riana

    5Jenkins Groovy Scripting

    RejeeshChandran, serieznyi, Tidhar Klein Orbach

    6

    Konfigurieren Sie Auto-Git-Push bei erfolgreicher Erstellung in Jenkins

    ANIL

    7Rollenstrategie-Plugin

    Gautam Jose

    https://riptutorial.com/de/home 40

    https://riptutorial.com/de/contributor/2133026/acalbhttps://riptutorial.com/de/contributor/-1/communityhttps://riptutorial.com/de/contributor/4921429/gautam-josehttps://riptutorial.com/de/contributor/4626262/girish-kumarhttps://riptutorial.com/de/contributor/924827/katuhttps://riptutorial.com/de/contributor/746417/pablohttps://riptutorial.com/de/contributor/702954/pom12https://riptutorial.com/de/contributor/3655261/priyanshu-shekharhttps://riptutorial.com/de/contributor/740175/rogerio-peixotohttps://riptutorial.com/de/contributor/2383136/s-k--venkathttps://riptutorial.com/de/contributor/4075494/sebhttps://riptutorial.com/de/contributor/3911459/tylerhttps://riptutorial.com/de/contributor/4270211/ichthyocentaurshttps://riptutorial.com/de/contributor/4142357/manuel-morejonhttps://riptutorial.com/de/contributor/299377/rianahttps://riptutorial.com/de/contributor/4093585/rejeeshchandranhttps://riptutorial.com/de/contributor/4622780/serieznyihttps://riptutorial.com/de/contributor/947784/tidhar-klein-orbachhttps://riptutorial.com/de/contributor/7156080/anilhttps://riptutorial.com/de/contributor/4921429/gautam-jose

    ÜberKapitel 1: Erste Schritte mit JenkinsBemerkungenVersionen

    JenkinsJenkins 1.x vs Jenkins 2.xExamplesInstallation

    Upgrade von Jenkins (RPM-Installationen)Nginx Proxy einrichtenPlugin von externer Quelle installierenVerschieben Sie Jenkins von einem PC auf einen anderenKonfigurieren Sie ein Projekt in JenkinsJenkins vollständige Einführung an einem OrtKonfigurieren Sie ein einfaches Build-Projekt mit dem Pipeline-Skript Jenkins 2

    Kapitel 2: Einrichten von Build Automation für iOS mit ShenzhenExamplesiOS Build Automation Setup mit Shenzhen

    Kapitel 3: Einrichten von Jenkins für iOS Build-Automatisierung.EinführungParameterBemerkungenExamplesZeitplan-Beispiel

    Kapitel 4: Installieren Sie Jenkins unter Windows mit SSH-Unterstützung für private GitHub-RepositorysExamplesGitHub-Pull-Anforderungen schlagen fehlPSExec.exe PS-Tool von MicrosoftGenerieren Sie einen neuen SSH-Schlüssel nur für Jenkins mit PSExec oder PSExec64Erstellen Sie die Jenkins-BerechtigungsnachweiseFühren Sie eine Test-Pull-Anforderung aus, um zu bestätigen, dass Sie fertig sind.

    Kapitel 5: Jenkins Groovy ScriptingExamplesStandardbenutzer erstellenDeaktivieren Sie den Setup-AssistentenInformationen zur Jenkins-InstanzSo erhalten Sie Informationen zu einem Job von Jenkins

    Kapitel 6: Konfigurieren Sie Auto-Git-Push bei erfolgreicher Erstellung in JenkinsEinführungExamplesKonfigurieren des Auto Push-Jobs

    Kapitel 7: Rollenstrategie-PluginExamplesAufbau

    Rollen verwaltenRollen zuweisen

    Credits