Jenkins (Ubuntu): Unterschied zwischen den Versionen

Aus Tutorials
Zur Navigation springen Zur Suche springen
 
(22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 53: Zeile 53:
</pre>
</pre>


=== Git installieren ===
=== Git ===
 
==== Git installieren ====


Damit Jenkins den Code auschecken kann, muss noch [[Git_Client|Git]] installiert werden:
Damit Jenkins den Code auschecken kann, muss noch [[Git_Client|Git]] installiert werden:
Zeile 61: Zeile 63:
</pre>
</pre>


Da das Zertifikat selbstsigniert ist, habe ich die SSL-Validierung für den Benutzer <code>jenkins</code> deaktiviert:
 
==== Zertifikat hinzufügen ====
 
Da das Zertifkat selbst signiert wurde, muss es noch zur <code>.gitconfig</code> hinzugefügt werden.
 
 
Dazu das Zertifkat herunterladen
 
<pre>
openssl s_client -connect git.<domain>:443
</pre>
 
und das Zertifikat aus der Ausgabe


<pre>
<pre>
sudo -u jenkins git config --global http.sslverify false
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</pre>
</pre>
in die Datei hinzufügen (weitere Zertifkate einfach in dieser Datei anhängen):
<pre>
sudo -u jenkins mkdir /var/lib/jenkins/git_certs
sudo -u jenkins vi /var/lib/jenkins/git_certs/cert.pem
</pre>
Nach dem Herunterladen muss das Zertifikat noch zur Git-Konfiguration hinzugefügt werden:
<pre>
sudo -u jenkins git config --global http.sslCAInfo /var/lib/jenkins/git_certs/cert.pem
</pre>
Danach sollte die Konfigurationsdatei


<pre>
<pre>
sudo vi /var/lib/jenkins/.gitconfig
sudo vi /var/lib/jenkins/.gitconfig
</pre>
</pre>
in etwa so aussehen:


<pre>
<pre>
[http]
        sslCAInfo = /var/lib/jenkins/git_certs/cert.pem
</pre>


=== Zip ===
<pre>
sudo apt-get -y install zip
</pre>
</pre>
=== HTML Beschreibungen ===
In <code>Globale Sicherheit konfigurieren</code> folgendes anpassen:
[[Datei:Markup_Security_Jenkins.png|800px|Markup Formatierer Beschreibung]]


== Verwendung ==
== Verwendung ==


[https://wiki.jenkins.io/display/JENKINS/Use+Jenkins https://wiki.jenkins.io/display/JENKINS/Use+Jenkins]
[https://wiki.jenkins.io/display/JENKINS/Use+Jenkins https://wiki.jenkins.io/display/JENKINS/Use+Jenkins]
=== Pipeline ===
[https://www.vogella.com/tutorials/Jenkins/article.html https://www.vogella.com/tutorials/Jenkins/article.html]
=== Deploy to Tomcat ===
[https://www.jdev.it/deploying-your-war-file-from-jenkins-to-tomcat/ https://www.jdev.it/deploying-your-war-file-from-jenkins-to-tomcat/]


== Plugins ==
== Plugins ==


[https://plugins.jenkins.io/ansicolor/ AnsiColor]
[[Jenkins Plugins]]


[https://plugins.jenkins.io/copy-data-to-workspace-plugin/ Copy data to workspace]
== Docker ==


[https://plugins.jenkins.io/maven-plugin/ Maven Integration]
Siehe dazu: [[Jenkins (Docker)|Jenkins (Docker)]]


[https://plugins.jenkins.io/nested-view/ Nested View]
== Probleme ==


[https://plugins.jenkins.io/nodelabelparameter/ Node and Label Parameter]
=== jenkins.service: Start operation timed out. Terminating. ===


[https://plugins.jenkins.io/publish-over-ssh/ Publish Over SSH]
Die Service-Konfiguration


[https://plugins.jenkins.io/ssh/ SSH]
<pre>
sudo vi /lib/systemd/system/jenkins.service
</pre>


[https://plugins.jenkins.io/ssh-agent/ SSH Agent]
bearbeiten und den Timeout-Wert anpassen:


== Probleme ==
<pre>
TimeoutStartSec=900
</pre>
 
Danach den Dämon neuladen und den Service neu starten:
 
<pre>
sudo systemctl daemon-reload
sudo systemctl restart jenkins.service
</pre>
 
==== Links ====
 
[https://community.jenkins.io/t/my-jenkins-startup-times-out-it-appears-to-work-but-the-start-command-times-out-on-the-shell-prompt/1038 https://community.jenkins.io/t/my-jenkins-startup-times-out-it-appears-to-work-but-the-start-command-times-out-on-the-shell-prompt/1038]


=== javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? ===
=== javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? ===
Zeile 106: Zeile 175:


...
...
=== Fehlschlag beim Holen von http://pkg.jenkins.io/debian-stable/binary/Release.gpg Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY FCEF32E745F2C3D5 ===
<pre>
wget -qO - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
</pre>


== Links ==
== Links ==

Aktuelle Version vom 17. August 2022, 11:44 Uhr

Installation

wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

HTTP-Post ändern

Standardmäßig läuft Jenkins auf Port 8080 und um diesen Port zu ändern muss die Konfigurationsdatei editieren

sudo vi /etc/default/jenkins

und in folgender Zeile den gewünschten Port anpassen

# port for HTTP connector (default 8080; disable with -1)
HTTP_PORT=8080

Danach den Service neu starten:

sudo service jenkins restart

Administrator-Passwort

Während der Installation wird automatisch ein Admin-Passwort generiert und in folgende Datei geschrieben:

sudo vi /var/lib/jenkins/secrets/initialAdminPassword

URL anpassen

Momentan noch 10.2.0.99:8090

Konfigurationsdatei

sudo vi /etc/default/jenkins

Sonstige Verzeichnisse

/var/lib/jenkins

Git

Git installieren

Damit Jenkins den Code auschecken kann, muss noch Git installiert werden:

sudo apt-get install git


Zertifikat hinzufügen

Da das Zertifkat selbst signiert wurde, muss es noch zur .gitconfig hinzugefügt werden.


Dazu das Zertifkat herunterladen

openssl s_client -connect git.<domain>:443

und das Zertifikat aus der Ausgabe

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

in die Datei hinzufügen (weitere Zertifkate einfach in dieser Datei anhängen):

sudo -u jenkins mkdir /var/lib/jenkins/git_certs
sudo -u jenkins vi /var/lib/jenkins/git_certs/cert.pem

Nach dem Herunterladen muss das Zertifikat noch zur Git-Konfiguration hinzugefügt werden:

sudo -u jenkins git config --global http.sslCAInfo /var/lib/jenkins/git_certs/cert.pem

Danach sollte die Konfigurationsdatei

sudo vi /var/lib/jenkins/.gitconfig

in etwa so aussehen:

[http]
        sslCAInfo = /var/lib/jenkins/git_certs/cert.pem

Zip

sudo apt-get -y install zip

HTML Beschreibungen

In Globale Sicherheit konfigurieren folgendes anpassen:

Markup Formatierer Beschreibung

Verwendung

https://wiki.jenkins.io/display/JENKINS/Use+Jenkins

Pipeline

https://www.vogella.com/tutorials/Jenkins/article.html

Deploy to Tomcat

https://www.jdev.it/deploying-your-war-file-from-jenkins-to-tomcat/

Plugins

Jenkins Plugins

Docker

Siehe dazu: Jenkins (Docker)

Probleme

jenkins.service: Start operation timed out. Terminating.

Die Service-Konfiguration

sudo vi /lib/systemd/system/jenkins.service

bearbeiten und den Timeout-Wert anpassen:

TimeoutStartSec=900

Danach den Dämon neuladen und den Service neu starten:

sudo systemctl daemon-reload
sudo systemctl restart jenkins.service

Links

https://community.jenkins.io/t/my-jenkins-startup-times-out-it-appears-to-work-but-the-start-command-times-out-on-the-shell-prompt/1038

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

https://issues.jenkins-ci.org/browse/JENKINS-47939

git ls-remote -h -- https://git.<domain>/<git project>.git HEAD" returned status code 128: stdout: stderr: fatal: unable to access 'https://git.<domain>t/<git project>t/': server certificate verification failed. CAfile: none CRLfile: none

...

Fehlschlag beim Holen von http://pkg.jenkins.io/debian-stable/binary/Release.gpg Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY FCEF32E745F2C3D5

wget -qO - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -

Links

https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+on+Ubuntu

https://jenkins.io/doc/

https://www.ionos.de/digitalguide/websites/web-entwicklung/jenkins-tutorial/

https://entwickler.de/online/eine-einfuehrung-in-die-continuous-integration-mit-jenkins-158667.html


Zurück zu Ubuntu