GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren Sie Jenkins CI/CD unter Ubuntu Linux

Verbringen Sie viel Zeit mit der Bereitstellung von Code in Ihrer Infrastruktur mit vielen Schritten und Software? Keine Sorge, Sie sind an der richtigen Stelle, um zu erfahren, wie Sie Jenkins installieren, das am weitesten verbreitete Open-Source-Tool.

Kein Leser? Sehen Sie sich dieses zugehörige Video-Tutorial an! Sie sehen das Video nicht? Stellen Sie sicher, dass Ihr Werbeblocker deaktiviert ist.

In diesem Tutorial erfahren Sie, wie Sie Jenkins auf einem Ubuntu-Rechner installieren, sodass Sie mit einem Klick auf eine Schaltfläche Code erstellen und bereitstellen können.

Lesen Sie weiter und beginnen Sie mit der Installation!

Voraussetzungen

Dieser Beitrag wird eine Schritt-für-Schritt-Anleitung sein. Um mitzumachen, stellen Sie sicher, dass Sie einen Ubuntu-Computer haben. Dieses Tutorial verwendet Ubuntu 18.04 mit installiertem Apache.

Installieren von Java Version 11 auf einem Ubuntu-Rechner

Jenkins ist ein Continuous Integration (CI)- und Continuous Deployment (CD)-Tool, das Sie in verschiedenen Servlet-Containern wie Apache Tomcat oder Glassfish ausführen können. Aber für diese Demo führen Sie Jenkins auf seinem integrierten Java-Servlet-Container-Server aus.

Es gibt mehrere Java-Implementierungen, die Sie für die Arbeit mit Jenkins verwenden können, aber OpenJDK ist die beliebteste, die Sie in dieser Anleitung installieren und verwenden werden.

1. Melden Sie sich mit Ihrem bevorzugten SSH-Client bei Ihrem Ubuntu-Rechner an.

2. Führen Sie als Nächstes die folgenden Befehle aus, um ein Verzeichnis mit dem Namen ~/install_jenkins_demo zu erstellen und wechseln Sie in dieses Verzeichnis.

mkdir ~/install_jenkins_demo
cd ~/install_jenkins_demo

3. Führen Sie apt install aus Befehl unten, um Java auf Ihrem Computer zu installieren.

# Installing Java Version: Java SE 11 (LTS)
sudo apt install default-jdk 

4. Führen Sie schließlich den folgenden Befehl aus, um die Version von installiertem Java auf Ihrem Computer zu überprüfen. Dadurch wird sichergestellt, dass Sie Java erfolgreich installiert haben.

# Checking the Version of Java to verify Java installation.
java -version

Installieren Sie Jenkins auf einer Ubuntu 18.04 LTS-Instanz

Nachdem Sie Java auf dem Ubuntu-Computer installiert haben, ist es an der Zeit, Jenkins auf Ihrem Computer zu installieren. Die Installation von Jenkins ist der Installation anderer Pakete auf Ihrem Computer ziemlich ähnlich.

Angenommen, Sie sind noch beim SSH-Client angemeldet:

1. Führen Sie zuerst apt update aus Befehl, um Ihre Systempakete zu aktualisieren.

sudo apt update

2. Führen Sie als Nächstes wget aus Befehl unten, um den öffentlichen Jenkins-Schlüssel zu Ihrem System hinzuzufügen.

Durch das Hinzufügen des öffentlichen Schlüssels kann die Jenkins-Site das offizielle Jenkins-Repository oder alle erforderlichen Pakete herunterladen.

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

3. Führen Sie die folgenden Befehle aus, um das offizielle Jenkins-Repository zu Ihrem System hinzuzufügen und Ihr System zu aktualisieren.

# Adding the Jenkins official repository to the system
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \
    /etc/apt/sources.list.d/jenkins.list'
# Updating the package
sudo apt-get update

4. Führen Sie nun den folgenden Befehl zu install aus die Jenkins Paket.

# Installing the Jenkins Package
sudo apt-get install Jenkins

5. Führen Sie abschließend service aus Befehl unten, um den Status des Jenkins-Dienstes zu überprüfen. # Validating the Jenkins service on ubuntu machine service jenkins status

# Validating the Jenkins service on ubuntu machine
service jenkins status

Wie Sie unten sehen können, zeigt der Status, dass der Jenkins-Dienst aktiv ist .

Konfigurieren einer Jenkins-Instanz

Inzwischen haben Sie die erfolgreiche Installation von Jenkins zur Hälfte abgeschlossen. Bevor Sie es jedoch tatsächlich verwenden, müssen Sie es mit grundlegenden Annehmlichkeiten einrichten. Wie? Der erste Schritt beim Einrichten von Jenkins besteht darin, das neu installierte Jenkins zu entsperren.

Angenommen, Sie sind noch beim SSH-Client angemeldet:

1. Öffnen Sie Ihren bevorzugten Browser und navigieren Sie zur IP-Adresse des Servers, gefolgt von Port 8080, z. B. jenkins-ip:8080. Nachdem Sie zu dem Link navigiert haben, müssen Sie Jenkins entsperren, indem Sie das Administratorkennwort angeben. Das Administratorpasswort wird in /var/lib/jenkins/secrets/initialAdminPassword gespeichert Verzeichnis auf dem Server (Schritt zwei).

2. Führen Sie cat aus Befehl unten, um das Administratorkennwort auf Ihrem Computer aus dem /var/lib/jenkins/secrets/initialAdminPassword hinzuzufügen Verzeichnis.

cat /var/lib/jenkins/secrets/initialAdminPassword

Wie Sie unten sehen können, ist die große Zeichenfolge in der Ausgabe das Admin-Passwort. Notieren Sie sich das Admin-Passwort, da Sie es zum Entsperren von Jenkins benötigen (Schritt drei).

3. Wechseln Sie zurück zu Ihrem Webbrowser (Jenkins entsperren Seite) und geben Sie das Admin-Passwort ein, das Sie sich in Schritt 2 notiert haben.

Sobald Sie Jenkins entsperrt haben, leitet Ihr Browser zu einer Seite weiter, auf der Sie Ihre Jenkins-Instanz mit Plugins anpassen (Schritt 4).

4. Klicken Sie auf Jenkins anpassen Seite, klicken Sie auf Vorgeschlagene Plugins installieren Möglichkeit.

Das Jenkins-Plug-in ist ein Drittanbieter-Tool, das sich in Jenkins integriert und es Ihnen ermöglicht, Aufgaben wie das Git-Plug-in auszuführen. Mit dem Git-Plug-in können Sie sich mit dem Git-Repo verbinden, Git-Befehle ausführen und so weiter.

5. Geben Sie die Admin-Benutzerdaten wie unten gezeigt ein und klicken Sie auf Speichern und fortfahren um einen Admin-Benutzer zu erstellen. Mit diesem Admin-Benutzer können Sie mit dem Jenkins-UI-Dashboard oder der Jenkins-Instanz arbeiten.

Sobald Sie auf „Speichern und fortfahren“ geklickt haben, wird in Schritt 5 der Bildschirm „Instanzkonfiguration“ angezeigt.

Standardmäßig hat Jenkins einen Admin-Benutzer mit Benutzername/Passwort (admin: admin ), bietet Ihnen aber dennoch die Möglichkeit, einen Admin-Benutzer Ihrer Wahl zu erstellen. Sie können überspringen und als Administrator fortfahren, wenn Sie keinen benutzerdefinierten Administrator erstellen möchten.

6. Klicken Sie zuletzt auf Speichern und Fertig stellen um die Instanzkonfiguration zu speichern.

Die Instanzkonfiguration ermöglicht es Ihnen, die Jenkins-URL anzugeben, die Sie verwenden möchten, und in diesem Fall verwenden Sie die Standard-URL (d. h. server-ip:8080)

Ändern des Standardports einer Jenkins-Instanz

Zuvor haben Sie gelernt, dass Jenkins standardmäßig auf Port 8080 ausgeführt wird, was in Ordnung ist. Aber was ist, wenn Sie einige andere Anwendungen auf demselben Port ausführen müssen, z. B. Apache oder NGINX? Keine Bange! Sie können den Standardport von Jenkins (8080) ändern und die Jenkins-Instanz auf anderen Ports ausführen.

1. Öffnen Sie /etc/default/Jenkins Datei in Ihrem bevorzugten Texteditor und ändern Sie den Standardport von 8080 auf 9090 und speichern Sie die Änderungen.

2. Führen Sie als Nächstes den folgenden Befehl aus, um Jenkins neu zu starten, damit die aktualisierten Konfigurationen wirksam werden.

sudo systemctl restart jenkins

3. Navigieren Sie schließlich zur Jenkins-URL, aber ändern Sie diesmal den Port auf 9090, wie unten gezeigt.

Jenkins sicher ausführen (HTTPS) mit SSL-Zertifikat

Inzwischen läuft Ihre Jenkins-Instanz einwandfrei auf Port 9090. Aber ist sie sicher? Nein, ist es nicht. Sichern Sie Ihre Jenkins-Instanz und verhindern Sie, dass sie von Angreifern kompromittiert wird, indem Sie ein SSL-Zertifikat aktivieren.

SSL-Zertifikate werden hauptsächlich zum Testen auf dem lokalen Computer verwendet, wenn kein Zertifikat von einer externen Zertifizierungsstelle verfügbar ist.

So sichern Sie Ihre Jenkins-Instanz:

1. Führen Sie jeden der folgenden Befehle aus, um ein Verzeichnis mit dem Namen ~/certificates zu erstellen um Zertifikate zu speichern und in dieses Verzeichnis zu wechseln.

mkdir ~/certificates
cd ~/certificates

2. Führen Sie als Nächstes den folgenden openssl aus Befehl zum Generieren einer Certificate Signing Request (CSR ) und eines privaten Schlüssels.

openssl req -x509 -newkey rsa:4096 -keyout apache.key -out apache.crt -days 365 -nodes

3. Führen Sie die folgenden Befehle aus, um ein weiteres Verzeichnis zu erstellen (/etc/apache2/ssl ) und verschieben Sie die Zertifikate aus ~/certificates/ Verzeichnis zum /etc/apache2/ssl Verzeichnis.

mkdir /etc/apache2/ssl
mv ~/certificates/* /etc/apache2/ssl/.

4. Öffnen Sie die Standard-SSL-Apache-Site-Konfigurationsdatei (/etc/apache2/sites-available/default-ssl.conf ) und fügen Sie die folgenden Zeilen hinzu. Achten Sie darauf, zu ersetzen mit dem tatsächlichen Namen Ihres Servers.

Im folgenden Code geben Sie den Speicherort (Zertifikatschlüssel und Datei) an, an den Sie zuvor die SSL-Zertifikate kopiert haben. Auch für Jenkins zum Umleiten auf Port 9090 , fügen Sie den ProxyPass hinzu Argument und schalten Sie ProxyPreserveHost ein .

ServerName 
SSLCertificateFile    /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:9090/
ProxyPassReverse / http://127.0.0.1:9090/

5. Führen Sie nun jeden der folgenden Befehle aus, um das SSL-Modul zu aktivieren, aktivieren Sie die geänderte Site (Schritt 4) und starten Sie den Apache-Dienst neu.

# Enable the SSL module, so you can work with SSL connections.
sudo a2enmod ssl proxy proxy_http proxy_balancer
# Enable the site you modified (step four)
sudo a2ensite default-ssl.conf
# Restart the Apache service
sudo service apache2 restart

6. Navigieren Sie schließlich zu Ihrer Jenkins-Instanz, diesmal jedoch mit HTTPS, wie unten gezeigt.

Wie Sie sehen können, öffnet Jenkins erfolgreich mit SSL-Verbindungen auf dem HTTPS-Port. Machen Sie sich keine Sorgen, wenn Sie ein Warnsymbol sehen, das Nicht sicher anzeigt Botschaft. Sie erhalten diese Warnung, da Sie ein selbstsigniertes Zertifikat (von Ihnen erstellt) und nicht von der Zertifizierungsstelle verwenden.

Schlussfolgerung

In diesem Tutorial haben Sie gelernt, wie Sie Jenkins auf einem Ubuntu-Computer installieren und überprüfen, ob Sie sicher auf eine Jenkins-Instanz zugreifen können.

Nun, wie planen Sie, Ihr Spiel mit Jenkins zu verbessern? Vielleicht Webbereitstellungen automatisieren? Oder eine Jenkins-CI-CD-Pipeline erstellen, um Ihren Softwareentwicklungsprozess zu verbessern?


Linux
  1. So installieren Sie Java unter Linux

  2. So installieren Sie Java auf Ubuntu

  3. So installieren Sie Java unter Ubuntu Linux

  4. So installieren Sie Jenkins unter Linux

  5. So installieren Sie Java unter Ubuntu 22.04

So installieren Sie Java unter Ubuntu 18.04

So installieren Sie Java 14 unter Linux, Ubuntu, CentOS

So installieren Sie Rust unter Ubuntu Linux

So installieren Sie Jenkins unter Ubuntu 18.04

Wie installiere ich Java unter Ubuntu 18.04?

So installieren Sie ClamAV unter Ubuntu Linux