Jenkins ist ein kostenloser und quelloffener Continuous-Integration-Server. Es ist in JAVA geschrieben. Es kann verwendet werden, um verschiedene Aufgaben im Zusammenhang mit der Softwareentwicklung zu automatisieren, z. B. das Erstellen von Tests und die Bereitstellung. Es unterstützt viele Versionskontrollsysteme wie Git, SVN, Mercurial usw.
In diesem Tutorial installieren wir Jenkins Automation Server auf dem CentOS 7-Server. Wir werden Nginx auch als Reverse-Proxy für Jenkins einrichten.
Voraussetzung
- Minimaler CentOS 7-Server
- Root-Rechte. Diese Anleitung wurde als Root-Benutzer geschrieben, wenn Sie als sudo-Benutzer angemeldet sind, führen Sie sudo -i. aus
Basissystem 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.
Installieren Sie JAVA 8
Jenkins unterstützt sowohl OpenJDK als auch Oracle JAVA, in diesem Tutorial installieren wir die neueste Version von OpenJDK auf dem Server. Führen Sie den folgenden Befehl aus, um OpenJDK auf Ihrem Server zu installieren.
yum install java-1.8.0-openjdk
Sie können jetzt die Java-Version mit dem folgenden Befehl überprüfen.
java -version
Sie erhalten die folgende Ausgabe.
[[email protected] ~]# 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)
Sie müssen auch prüfen, ob die Umgebungsvariable JAVA_HOME gesetzt ist. Führen Sie dafür den folgenden Befehl aus.
echo $JAVA_HOME
Wenn Sie eine Null- oder Leerausgabe erhalten, müssen Sie die JAVA_HOME-Variable manuell festlegen. Bearbeiten Sie die .bash_profile-Datei mit Ihrem bevorzugten Editor. In diesem Tutorial verwenden wir den Nano-Editor. Führen Sie den folgenden Befehl aus, um .bash_profile mit nano zu bearbeiten.
nano ~/.bash_profile
Fügen Sie nun am Ende der Datei die folgenden Zeilen 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
Sourcen 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 prüfen, ob die Umgebungsvariable gesetzt ist oder nicht.
[[email protected] ~]# echo $JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/
Nachdem Sie 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 Sie wget nicht installiert haben, können Sie yum -y install wget.
ausführenImportieren 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 ist, 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 fortfahren, um den Server zu starten.
Starte Jenkins
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 über Port 8080 zuzugreifen, können wir einen Reverse-Proxy für die Anwendung entweder mit dem Apache- oder Nginx-Webserver erstellen. In diesem Tutorial verwenden wir nginx als Reverse-Proxy für Ihre Anwendung. Jetzt wird nginx hinter dem nginx-Proxyserver ausgeführt. nginx ist im standardmäßigen 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 Folgendes 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 tatsächlichen 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 beenden Sie den Editor. Jetzt können Sie Nginx starten, indem Sie den folgenden Befehl ausführen.
systemctl start nginx
Um Nginx zu ermöglichen, beim Booten automatisch zu starten, führen Sie den folgenden Befehl aus.
systemctl enable nginx
Firewall und SELinux konfigurieren
Wenn auf Ihrem Server eine Firewall ausgeführt wird, müssen Sie Port 8080 und den Standard-HTTP-Port durch die Firewall zulassen. Führen Sie den folgenden Befehl aus, um die Firewall-Regeln hinzuzufügen, um die Ports 8080 und 80 zuzulassen.
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent
Laden Sie die Firewall-Zonen neu, indem Sie Folgendes ausführen:
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 jetzt 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 tatsächliche Domain. Sie werden die folgende Oberfläche sehen.
Sie werden nach Ihrem anfänglichen Admin-Passwort gefragt, das vom Installationsprogramm 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. Anfängern wird empfohlen, Vorgeschlagene Plugins installieren zu wählen .
Dadurch werden alle Plugins installiert, die für den Anfang erforderlich sind.
Auf der nächsten Oberfläche werden die Plugins installiert.
Jetzt müssen Sie einen Administratorbenutzer für Ihr Jenkins-Admin-Dashboard erstellen.
Schließlich werden Sie zum administrativen Dashboard von Jenkins weitergeleitet.
Schlussfolgerung
Sie können Jenkins jetzt für die kontinuierliche Integration in der Softwareentwicklung verwenden. Weitere Informationen zu Jenkins finden Sie auf der Jenkins-Website.