Jenkins je open source automatizační server, který umožňuje vývojářům po celém světě spolehlivě vytvářet, testovat a nasazovat jejich software. Jedná se o populární open source 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 ve FreeBSD 13
- Jak nainstalovat a nastavit Jenkins ve Fedoře 35
- Jak nainstalovat a nastavit Jenkins v Rocky Linux/Centos 8
Požadavky
- Systém Linux se serverem Ubuntu 20.04 (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é:Přístup k jenkinům pomocí domény
1. Zajištění aktuálnosti systému
Než budete pokračovat, ujistěte se, že váš systém má aktualizované balíčky. K dosažení tohoto cíle použijte tento příkaz:
sudo apt update
sudo apt upgrade -y
2. Nainstalujte Java
Ujistěte se, že Java funguje podle očekávání. Zadejte tento příkaz pro kontrolu verze Java
java -version
Pokud tento příkaz způsobí chybu, musíte nainstalovat java runtime env.
sudo apt install -y default-jre
3. Nainstalujte Jenkins
Nejprve přidejte klíč do svého systému:
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
Poté přidejte následující položku do svého /etc/apt/sources.list
:
deb https://pkg.jenkins.io/debian-stable binary/
Aktualizujte svůj místní index balíčků a nakonec nainstalujte Jenkins:
sudo apt-get update
sudo apt-get install jenkins
4. Spuštění a povolení jenkins
Zkontrolujte, zda se jenkins ladí podle očekávání, zkontrolováním stavu služby systemd
sudo systemctl status jenkins
Měli byste vidět něco takového:
● jenkins.service - LSB: Start Jenkins at boot time
Loaded: loaded (/etc/init.d/jenkins; generated)
Active: active (exited) since Sat 2021-07-31 17:22:57 UTC; 5s ago
Docs: man:systemd-sysv-generator(8)
Process: 18175 ExecStart=/etc/init.d/jenkins start (code=exited, status=0/SUCCESS)
Jul 31 17:22:55 frhb64566ds systemd[1]: Starting LSB: Start Jenkins at boot time...
Jul 31 17:22:55 frhb64566ds jenkins[18175]: Correct java version found
Jul 31 17:22:55 frhb64566ds jenkins[18175]: * Starting Jenkins Automation Server jenkins
Jul 31 17:22:55 frhb64566ds su[18214]: (to jenkins) root on none
Jul 31 17:22:55 frhb64566ds su[18214]: pam_unix(su-l:session): session opened for user jenkins by (uid=0)
Jul 31 17:22:56 frhb64566ds su[18214]: pam_unix(su-l:session): session closed for user jenkins
Jul 31 17:22:57 frhb64566ds jenkins[18175]: ...done.
Jul 31 17:22:57 frhb64566ds systemd[1]: Started LSB: Start Jenkins at boot time.
5. Přístup k Jenkinsovi
Získejte přístup k serveru jenkins pomocí veřejné IP na portu 8080. Pokud k serveru jenkins přistupujete lokálně, použijte http://localhost:8080
Získejte veřejnou ip jenkins
curl -4 icanhazip.com
Poté můžete přejít na http://public_ip:8080
6. Volitelné:Přístup k jenkinům pomocí názvu domény
Pokud chcete přistupovat k jenkins pomocí názvu domény, můžete k provozu proxy použít něco jako nginx. Nginx vám umožňuje proxy provoz a v případě potřeby ukončit ssl.
Nainstalujte nginx
sudo apt install -y nginx
Ujistěte se, že nginx běží
sudo systemctl status nginx
Vytvořte nginx server pro jenkins v /etc/nginx/conf.d
s obsahem k poskytování:
Soubor /etc/nginx/conf.d/jenkins.conf
server {
listen 80;
listen [::]:80;
server_tokens off;
server_name your.domain.com;
## Deny illegal Host headers
if ($host !~* ^(your.domain.com)$ ) {
return 444;
}
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
}
Restartujte nginx:
sudo systemctl restart nginx
Namapujte A
záznam domény your.domain.com
na IP adresu vašeho serveru a měli byste k němu mít přístup pomocí http://your.domain.com
7. Konfigurace jenkins
Při prvním přístupu na server jenkins pomocí domény vás uvítá úvodní obrazovka s výzvou k odemknutí jenkins pomocí hesla správce z této cesty /var/lib/jenkins/secrets/initialAdminPassword
na serveru.
Heslo získáte zadáním tohoto
cat /var/lib/jenkins/secrets/initialAdminPassword
Po zadání hesla budete přesměrováni na stránku instalace pluginu. Máte možnost nainstalovat běžné pluginy nebo zvolit, které pluginy nainstalovat.
Vždy preferuji vlastní výběr pluginů, které chci nainstalovat, abych měl kontrolu nad tím, které pluginy jsou nainstalovány a které ne.
Po dokončení instalace pluginu budete přesměrováni na stránku pro vytvoření Jenkins First User. Vždy vytvořím uživatele Admin a poté zvolím silné heslo.
Poté se ujistěte, že je na poslední stránce konfigurační stránky instance nastavena správná adresa URL. Poté budete přesměrováni na stránku jenkins dashboard.
Odtud můžete vytvářet jenkinovy úlohy a používat jenkiny, jak byste chtěli.