Jenkins je bezplatný a open source server pro nepřetržitou integraci. Je napsán v JAVA. Lze jej použít k automatizaci různých úkolů souvisejících s vývojem softwaru, jako je testování budov a nasazení. Podporuje mnoho systémů pro správu verzí, jako je git, SVN, mercurial atd.
V tomto tutoriálu nainstalujeme Jenkins Automation Server na server CentOS 7. Nastavíme také Nginx jako reverzní proxy pro Jenkinse.
Předpoklad
- Minimální server CentOS 7
- Oprávnění uživatele root. Tato příručka je napsána jako uživatel root, pokud jste přihlášeni jako uživatel sudo, spusťte sudo -i.
Aktualizovat základní systém
Před instalací jakéhokoli balíčku se doporučuje aktualizovat balíčky a úložiště pomocí následujícího příkazu.
yum -y update
Jakmile je váš systém aktualizován, pokračujte v instalaci JAVA.
Instalovat JAVA 8
Jenkins podporuje OpenJDK i Oracle JAVA, v tomto tutoriálu nainstalujeme nejnovější verzi OpenJDK na server. Spusťte následující příkaz a nainstalujte OpenJDK na váš server.
yum install java-1.8.0-openjdk
Nyní můžete zkontrolovat verzi Java pomocí následujícího příkazu.
java -version
Získáte následující výstup.
[[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)
Budete také muset zkontrolovat, zda je nastavena proměnná prostředí JAVA_HOME. Pro totéž spusťte následující příkaz.
echo $JAVA_HOME
Pokud získáte prázdný nebo prázdný výstup, budete muset ručně nastavit proměnnou JAVA_HOME. Upravte soubor .bash_profile pomocí svého oblíbeného editoru. V tomto tutoriálu použijeme nano editor. Spusťte následující příkaz pro úpravu .bash_profile pomocí nano.
nano ~/.bash_profile
Nyní přidejte následující řádky na konec souboru.
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
Nyní vytvořte zdroj souboru pomocí následujícího příkazu.
source ~/.bash_profile
Nyní můžete znovu spustit příkaz echo $JAVA_HOME a zkontrolovat, zda je proměnná prostředí nastavena nebo ne.
[[email protected] ~]# echo $JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/
Nyní, když máte nainstalovanou JAVA, můžete pokračovat v instalaci Jenkins.
Instalovat Jenkins
Jenkins lze nainstalovat přímo přidáním úložiště a importem klíče GPG. Přidejte úložiště Jenkins do svého systému spuštěním následujícího příkazu.
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
Pokud nemáte nainstalovaný wget, můžete spustit yum -y install wget.
Importujte klíč GPG spuštěním následujícího příkazu.
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
Jakmile je import úspěšný, můžete nainstalovat Jenkins spuštěním následujícího příkazu.
yum -y install jenkins
Jenkins je nyní nainstalován na vašem serveru. Všechny požadované balíčky jsou nyní nainstalovány. Instalační program také vytvořil nového uživatele jenkins pro spuštění procesu. Můžete pokračovat dále a spustit server.
Spuštění Jenkinse
Jenkins můžete spustit spuštěním následujícího příkazu.
systemctl start jenkins
Chcete-li Jenkinse zastavit, můžete spustit následující příkaz.
systemctl stop jenkins
Stav procesu můžete zkontrolovat spuštěním následujícího příkazu.
systemctl status jenkins
Instalovat Nginx
Místo přístupu k aplikaci na portu 8080 můžeme pro aplikaci vytvořit reverzní proxy s webovým serverem Apache nebo Nginx. V tomto tutoriálu budeme používat nginx jako reverzní proxy pro vaši aplikaci. Nyní bude nginx běžet za proxy serverem nginx. nginx není k dispozici ve výchozím úložišti YUM. Chcete-li nainstalovat Nginx, budete muset nainstalovat úložiště EPEL.
yum -y install epel-release
Nyní můžete nainstalovat Nginx spuštěním:
yum -y install nginx
Spuštěním následujícího příkazu vytvořte nový blok serveru.
nano /etc/nginx/conf.d/jenkins.conf
Naplňte soubor následujícím obsahem. Nahraďte ci.yourdomain.com svým skutečným názvem domény.
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; } }
Uložte soubor a ukončete editor. Nyní můžete spustit Nginx spuštěním následujícího příkazu.
systemctl start nginx
Chcete-li povolit automatické spouštění Nginx při spouštění spuštěním následujícího příkazu.
systemctl enable nginx
Konfigurace brány firewall a SELinux
Pokud máte na serveru spuštěnou bránu firewall, budete muset přes bránu firewall povolit port 8080 a standardní port HTTP. Spuštěním následujícího příkazu přidejte pravidla brány firewall pro povolení portů 8080 a 80.
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent
Znovu načtěte zóny brány firewall spuštěním:
firewall-cmd --reload
Nakonfigurujte SELinux pro konfiguraci proxy nginx spuštěním následujícího příkazu.
setsebool httpd_can_network_connect 1 -P
Nakonfigurujte Jenkins
Nyní můžete přistupovat k webovému rozhraní serveru Jenkins CI na následující webové adrese.
http://ci.yourdomain.com
Nahraďte ci.yourdomain.com svou skutečnou doménou. Zobrazí se následující rozhraní.
Požádá vás o vaše počáteční heslo správce, které vygeneruje instalační program a uloží se do souboru /var/lib/jenkins/secrets/initialAdminPassword. Spuštěním následujícího příkazu získáte počáteční heslo správce.
cat /var/lib/jenkins/secrets/initialAdminPassword
Pro další přihlášení použijte heslo.
V další sekci budete dotázáni, které pluginy chcete nainstalovat, pro začátečníky se doporučuje zvolit Install Suggested Plugins .
Tím se nainstalují všechny potřebné pluginy, abyste mohli začít.
Na dalším rozhraní nainstaluje pluginy.
Nyní budete muset vytvořit administrátora pro váš administrační panel Jenkins.
Nakonec budete přesměrováni na administrativní panel Jenkins.
Závěr
Nyní můžete používat Jenkins pro nepřetržitou integraci ve vývoji softwaru. Více o Jenkinsovi se můžete dozvědět na webových stránkách Jenkins.