Jenkins je populární opensource automatizační nástroj k provádění nepřetržité integrace a automatizace budování. Jenkins umožňuje provádět předdefinovaný seznam kroků, např. zkompilovat zdrojový kód golang pro sestavení binárního souboru. Spouštěč tohoto spuštění může být založen na čase nebo události.
Možné kroky provedené Jenkinsem jsou například:
- Klonování kódu ze systému kontroly zdroje.
- spusťte příkaz k instalaci závislostí potřebných ke spuštění kódu
- Spusťte testy softwaru
- vytvořte software, abyste získali spustitelný soubor
- Publikovat výsledky testu
- publikovat výsledný binární kód
Jenkins sleduje provádění kroků a umožňuje zastavit proces, pokud jeden z kroků selže. Jenkins může také posílat upozornění v případě úspěchu nebo selhání sestavení.
Jenkins lze rozšířit o další zásuvné moduly. Můžete si například nainstalovat zásuvné moduly pro podporu vytváření a testování aplikací pro Android.
Související obsah
- Jak nainstalovat a nastavit Jenkins v Debianu 11
- Jak nainstalovat a nastavit Jenkins ve FreeBSD 13
- Jak nainstalovat a nastavit Jenkins na Ubuntu 20.04
- Jak nainstalovat a nastavit Jenkins ve Fedoře 35
Požadavky
- Systém Linux se serverem Rocky Linux/CentOS 8 (alespoň 2 GB paměti RAM)
- Uživatelský účet s právy sudo nebo root
- Přístup k oknu terminálu/příkazovému řádku
- Nainstalována nejnovější verze Java
Obsah
- Zajištění aktuálnosti systému
- Nainstalujte Javu
- Nainstalujte Jenkins
- Spuštění a povolení jenkins
- Přístup k Jenkinsovi
- Volitelné – pomocí příručky Ansible
1. Zajištění aktuálnosti systému
Pomocí tohoto příkazu se ujistěte, že jsou systémové balíčky aktuální:
sudo dnf -y update
Dále nainstalujme běžné balíčky, které budeme potřebovat v našem tutoriálu
sudo dnf install -y curl vim wget
2. Nainstalujte Java
V této sekci nainstalujeme do našeho systému javu. Budeme používat openjdk verzi Java. Chcete-li v Rocky Linux 8 zkontrolovat, jaký software poskytuje příkazový řádek java, použijte následující příkaz k vyhledání dnf search jdk
. Protože Jenkins používá Javu verze 11, nemůžeme filtrovat výsledek pomocí grep.
# dnf search jdk | grep 11
Last metadata expiration check: 0:03:42 ago on Wed 24 Nov 2021 06:10:29 AM EAT.
java-11-openjdk.x86_64 : OpenJDK 11 Runtime Environment
java-11-openjdk-demo.x86_64 : OpenJDK 11 Demos
java-11-openjdk-devel.x86_64 : OpenJDK 11 Development Environment
java-11-openjdk-headless.x86_64 : OpenJDK 11 Headless Runtime Environment
java-11-openjdk-javadoc.x86_64 : OpenJDK 11 API documentation
java-11-openjdk-javadoc-zip.x86_64 : OpenJDK 11 API documentation compressed in a single archive
java-11-openjdk-jmods.x86_64 : JMods for OpenJDK 11
java-11-openjdk-src.x86_64 : OpenJDK 11 Source Bundle
java-11-openjdk-static-libs.x86_64 : OpenJDK 11 libraries for static linking
Vidíme, že je to jdk 11 je k dispozici jako java-11-openjdk
. Nainstalujte jej pomocí příkazu
sudo dnf install -y java-11-openjdk
Potvrďte nainstalovanou verzi pomocí tohoto příkazu:
$ java -version
openjdk version "11.0.13" 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
3. Nainstalujte Jenkins
Přidat úložiště Jenkins
Jenkins není součástí výchozích softwarových úložišť CentOS. Pomocí následujících příkazů přidejte a importujte klíč GPG, abyste zajistili, že váš software je legitimní.
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
Nainstalujte jenkins
Pokud ještě není nainstalován, použijte tento příkaz k instalaci epel-release
. Toto úložiště obsahuje některé závislosti, které náš server jenkins potřebuje, jako je daemonize
.
sudo dnf install epel-release
Pomocí následujícího příkazu nainstalujte jenkins
sudo dnf install jenkins
4. Spuštění a povolení jenkins
Nyní, když je jenkins nainstalován, spusťte jej pomocí tohoto příkazu:
sudo systemctl start jenkins
Chcete-li zobrazit stav služby Jenkins, zadejte následující:
$ sudo systemctl status jenkins
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; generated)
Active: active (running) since Wed 2021-11-24 06:23:59 EAT; 4s ago
Docs: man:systemd-sysv-generator(8)
Process: 64639 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
Tasks: 37 (limit: 23168)
Memory: 241.4M
CGroup: /system.slice/jenkins.service
└─64645 /etc/alternatives/java -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins ->
Nov 24 06:23:59 cloudsrv.citizix.com systemd[1]: Starting LSB: Jenkins Automation Server...
Nov 24 06:23:59 cloudsrv.citizix.com jenkins[64639]: Starting Jenkins [ OK ]
Nov 24 06:23:59 cloudsrv.citizix.com systemd[1]: Started LSB: Jenkins Automation Server.
Zkontrolujte prosím, zda je stav active (running)
abyste věděli, že instalace proběhla úspěšně.
Chcete-li povolit Jenkins při spouštění, použijte toto:
sudo systemctl enable jenkins
5. Přístup k serveru jenkins
Po instalaci otevřete prohlížeč a přejděte na jenkins na adrese URL http://127.0.0.1:8080/
. Pokud používáte vzdálený server, nahraďte ip 127.0.0.1
s ip toho serveru.
Budete požádáni o zadání počátečního hesla nalezeného v tomto umístění /var/lib/jenkins/secrets/initialAdminPassword
. Získejte jej spuštěním tohoto příkazu na serveru.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Zde vyberte, zda chcete nainstalovat doporučené pluginy, nebo vyberte, co chcete nainstalovat.
Poslední stránka vám umožní nastavit počáteční konfiguraci pro uživatele, který bude používat server jenkins.
6. Volitelné – pomocí příručky Ansible
Ke splnění stejného úkolu můžete použít následující příručku. Uložte jej do souboru jako install-jenkins.yaml
.
Spuštění příručky:
- Ujistěte se, že je nainstalován ansible. Zde naleznete průvodce instalací.
- Vytvořte soubor hostitelů s informacemi o připojení
- Spusťte příkaz
ansible-playbook -i <hosts-file-path> install-jenkins.yaml -vvv
- name: Install jenkins on centos 8
hosts: jenkins-srv
become: yes
gather_facts: False
tasks:
- name: Install required packages
dnf:
name:
- wget
state: latest
- name: Install java
dnf:
name: java-1.8.0-openjdk-1:1.8.0.275.b01-1.el8_3.x86_64
state: latest
- name: Add jenkins repository
shell: |
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
args:
warn: no
- name: Install jenkins
dnf:
name: jenkins
state: latest
- name: Start jenkins service
systemd:
name: jenkins
state: started
- name: Enable jenkins service
systemd:
name: jenkins
enabled: yes
Závěr
V této příručce se nám podařilo nainstalovat Jenkins na server Rocky Linux.