Jenkins Automation Server Installation mit Nginx auf CentOS 7

Jenkins ist ein  Open Source Continuous Integration Server. Jenkins ist in JAVA geschrieben und kann verwendet werden, um verschiedene Aufgaben im Zusammenhang mit der Softwareentwicklung zu automatisieren, wie z.B. das Testen und Bereitstellen von Gebäuden. Es unterstützt viele Versionskontrollsysteme wie git, SVN, mercurial etc.

In diesem Tutorial werden wir den Jenkins Automation Server auf dem CentOS 7 Server installieren. Wir werden Nginx auch als Reverse-Proxy für Jenkins einrichten.

Voraussetzung

  • Minimaler CentOS 7 Server
  • Root-Privilegien. Dieses Handbuch ist als root-Benutzer geschrieben, wenn Sie als sudo-Benutzer angemeldet sind, führen Sie sudo -i aus.

Basis-System aktualisieren

Vor der Installation eines Pakets wird empfohlen, die Pakete und das Repository mit dem folgenden Befehl zu aktualisieren.

yum -y update

Sobald Ihr System aktualisiert ist, fahren Sie mit der Installation von JAVA fort.

JAVA 8 installieren

Jenkins unterstützt sowohl OpenJDK als auch Oracle JAVA, in diesem Tutorial werden wir die neueste Version von OpenJDK auf dem Server installieren. Führen Sie den folgenden Befehl aus, um OpenJDK auf Ihrem Server zu installieren.

yum install java-1.8.0-openjdk

Sie können nun die Java-Version mit dem folgenden Befehl überprüfen.

java -version

Sie erhalten die folgende Ausgabe.

[root@liptan-pc ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

Außerdem müssen Sie prüfen, ob die Umgebungsvariable JAVA_HOME gesetzt ist. Führen Sie den folgenden Befehl aus.

echo $JAVA_HOME

Wenn Sie eine Null- oder Leerausgabe erhalten, müssen Sie die Variable JAVA_HOME manuell setzen. Bearbeiten Sie die .bash_profile-Datei mit Ihrem bevorzugten Editor. In diesem Tutorial werden wir den Nano-Editor verwenden. Führen Sie den folgenden Befehl aus, um .bash_profile mit nano zu bearbeiten.

nano ~/.bash_profile

Füge nun die folgenden Zeilen am Ende der Datei hinzu.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/
export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre

Quellen Sie nun die Datei mit dem folgenden Befehl.

source ~/.bash_profile

Jetzt können Sie den Befehl echo $JAVA_HOME erneut ausführen, um zu überprüfen, ob die Umgebungsvariable gesetzt ist oder nicht.

[root@pc ~]# echo $JAVA_HOME 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/

Nachdem Sie nun JAVA installiert haben, können Sie mit der Installation von Jenkins fortfahren.

Jenkins installieren

Jenkins kann direkt installiert werden, indem das Repository hinzugefügt und der GPG-Schlüssel importiert wird. Fügen Sie das Jenkins-Repository zu Ihrem System hinzu, indem Sie den folgenden Befehl ausführen.

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

Wenn du wget nicht installiert hast, kannst du yum -y install wget ausführen.

Importieren Sie den GPG-Schlüssel, indem Sie den folgenden Befehl ausführen.

rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

Sobald der Import erfolgreich war, können Sie Jenkins installieren, indem Sie den folgenden Befehl ausführen.

yum -y install jenkins

Jenkins ist jetzt auf Ihrem Server installiert. Alle erforderlichen Pakete sind nun installiert. Das Installationsprogramm hat auch einen neuen Benutzer jenkins erstellt, um den Prozess auszuführen. Sie können weitermachen, um den Server zu starten.

Jenkins starten

Sie können Jenkins starten, indem Sie den folgenden Befehl ausführen.

systemctl start jenkins

Um Jenkins zu stoppen, können Sie den folgenden Befehl ausführen.

systemctl stop jenkins

Sie können den Status des Prozesses überprüfen, indem Sie den folgenden Befehl ausführen.

systemctl status jenkins

Nginx installieren

Anstatt auf die Anwendung auf Port 8080 zuzugreifen, können wir einen Reverse-Proxy für die Anwendung entweder mit Apache oder Nginx Webserver erstellen. In diesem Tutorial werden wir nginx als Reverse-Proxy für Ihre Anwendung verwenden. Nun läuft nginx hinter dem nginx-Proxy-Server. nginx ist im Standard YUM-Repository nicht verfügbar. Sie müssen das EPEL-Repository installieren, um Nginx zu installieren.

yum -y install epel-release

Jetzt können Sie Nginx installieren, indem Sie es ausführen:

yum -y install nginx

Erstellen Sie einen neuen Serverblock, indem Sie den folgenden Befehl ausführen.

nano /etc/nginx/conf.d/jenkins.conf

Füllen Sie die Datei mit dem folgenden Inhalt. Ersetzen Sie ci.yourdomain.com durch Ihren aktuellen Domainnamen.

upstream jenkins{
    server 127.0.0.1:8080;
}

server{
    listen      80;
    server_name ci.yourdomain.com;

    access_log  /var/log/nginx/jenkins.access.log;
    error_log   /var/log/nginx/jenkins.error.log;

    proxy_buffers 16 64k;
    proxy_buffer_size 128k;

    location / {
        proxy_pass  http://jenkins;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_redirect off;

        proxy_set_header    Host            $host;
        proxy_set_header    X-Real-IP       $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    X-Forwarded-Proto https;
    }

}

Speichern Sie die Datei und verlassen Sie den Editor. Nun können Sie Nginx starten, indem Sie den folgenden Befehl ausführen.

systemctl start nginx

Damit Nginx beim Booten automatisch starten kann, indem Sie den folgenden Befehl ausführen.

systemctl enable nginx

Firewall und SELinux konfigurieren

Wenn Sie eine Firewall auf Ihrem Server haben, müssen Sie den Port 8080 und den Standard-HTTP-Port durch die Firewall lassen. Führen Sie den folgenden Befehl aus, um die Firewall-Regeln für die Ports 8080 und 80 hinzuzufügen.

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent

Laden Sie die Firewall-Zonen durch Ausführen neu:

firewall-cmd --reload

Konfigurieren Sie SELinux für die nginx-Proxy-Konfiguration, indem Sie den folgenden Befehl ausführen.

setsebool httpd_can_network_connect 1 -P

Jenkins konfigurieren

Sie können nun auf die Weboberfläche des Jenkins CI-Servers zugreifen, indem Sie auf die folgende Webadresse gehen.

http://ci.yourdomain.com

Ersetzen Sie ci.yourdomain.com durch Ihre aktuelle Domain. Sie werden die folgende Schnittstelle sehen.

Jenkins freischalten

Es wird Sie nach Ihrem anfänglichen Admin-Passwort fragen, das vom Installer generiert und in der Datei /var/lib/jenkins/secrets/initialAdminPassword gespeichert wird. Führen Sie den folgenden Befehl aus, um das anfängliche Administratorkennwort zu erhalten.

cat /var/lib/jenkins/secrets/initialAdminPassword

Verwenden Sie das Passwort, um sich anzumelden, und fahren Sie fort.

Im nächsten Abschnitt werden Sie gefragt, welche Plugins Sie installieren möchten, für Anfänger wird empfohlen, die Option Vorgeschlagene Plugins installieren zu wählen.

Jenkins anpassen

Dadurch werden alle Plugins installiert, die für den Start notwendig sind.

Auf der nächsten Schnittstelle werden die Plugins installiert.

Jenkins Erste Schritte

Jetzt müssen Sie einen Administratorbenutzer für Ihr Jenkins Admin Dashboard erstellen.

Benutzer in Jenkins anlegen

Schließlich werden Sie zum administrativen Dashboard von Jenkins weitergeleitet.

Jenkins Dashboard

Fazit

Sie können Jenkins nun für die kontinuierliche Integration in die Softwareentwicklung nutzen. Sie können mehr über Jenkins erfahren, indem Sie auf die Jenkins Website gehen.

Das könnte Dich auch interessieren …