Přehled
Tento článek se bude zabývat kroky, jak nainstalovat Jenkins pomocí Docker. Vydání Jenkins LTS nasadíme na jeden hostitelský počítač a budeme používat oficiální obrázek Jenkins Docker z centra Docker. Úplnou dokumentaci Jenkins Docker si můžete prohlédnout na oficiálním jenkins githubu.
Jenkins je známý a oblíbený open source nástroj pro automatizaci CI/CD. S mnoha výhodami, které nabízí, může být někdy únavné spouštět na něm údržbu, protože jeho spuštění závisí na Javě. Naštěstí nyní máme Docker verzi Jenkins, kterou můžeme snadno nasadit a zjednodušuje údržbu, protože obsahuje i Javu.
Předpoklady:
Docker je předinstalovaný a běží. Docker lze nyní rychle nainstalovat pomocí oficiálního skriptu pro automatickou instalaci ze stránky Docker v některých hlavních distribucích (ubuntu, debian, rasbian atd...):
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
Nainstalujte Jenkins pomocí Docker
Chcete-li nainstalovat Jenkins s Dockerem, dokumentace Jenkins doporučuje následující argumenty příkazu Docker:
docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11
Tento příkaz docker nasadí kontejner Jenkins s LTS verzí Jenkins, připojí adresář /var/jenkins_home z hostitelského počítače (čímž přidá perzistenci dat do Jenkins, což znamená, že nedojde ke ztrátě dat při restartu nebo aktualizaci kontejneru – toto nastavení se důrazně doporučuje přidat ) a vystavení portů tak, aby byl Jenkins dashboard dostupný prostřednictvím webového prohlížeče. Instalace, nasazení a spuštění Jenkins bude trvat několik minut.
S připojením adresáře z hostitelského serveru, který umožňuje zálohovat veškerou konfiguraci Jenkins, soubory a pluginy (což je doporučeno) a také lze migrovat na jiný hostitel.
Přístup a konfigurace Jenkins
Po nasazení kontejneru Jenkins docker by Docker měl okamžitě spustit kontejner Jenkins automaticky a na terminálu by měl výstup zobrazovat heslo pro odemknutí správce ihned po spuštění kontejneru. Obrázek níže je příklad:
Pokud se váš kontejner Jenkins nespustí, zkontrolujte, zda běží s Dockerem, a spusťte. Heslo pro odemknutí správce můžete také získat později.
docker ps -a docker start ${CONTAINER_ID or CONTAINER_NAME}
Chcete-li získat heslo pro odemknutí z kontejneru ukotvitelného panelu Jenkins, spusťte příkaz níže. Pomocí tohoto příkazu můžeme vytisknout heslo, aniž bychom museli spouštět příkazy do kontejneru (nebo shell do kontejneru):
sudo docker exec ${CONTAINER_ID or CONTAINER_NAME} cat /var/jenkins_home/secrets/initialAdminPassword
Při prvním přístupu k řídicímu panelu získáte stránku Unlock the Jenkins, která vám ukáže, jak jste byli a jak získat heslo správce a odemknout řídicí panel správce Jenkins.
Vložte heslo na odemykací stránku a klikněte na pokračovat.
Na další obrazovce bude vytvoření nového uživatele admin. Je vhodné vytvořit a používat nový účet správce.
Následující obrazovka – Konfigurace instance, zde stačí buď potvrdit nebo aktualizovat adresu URL panelu Jenkins.
Klikněte na uložit a dokončit a toto bude poslední krok konfigurace.
Konfigurace brány firewall
Pro jistotu, pokud máte spuštěnou bránu firewall (což je vysoce doporučeno), je nutné mít otevřené porty pro Jenkins, jinak nebudete mít přístup k administračnímu panelu Jenkins.
UFW sudo ufw allow 2376 IPTABLES sudo iptables -I INPUT -p tcp -m tcp --dport 2376 -j ACCEPT or sudo iptables -A INPUT -p tcp -m tcp --dport 2376 -j ACCEPT
Shrnutí
Abychom to shrnuli, ukázali jsme kroky, jak nainstalovat Jenkins s Dockerem. Nasazení Jenkins s Dockerem je dobré řešení, protože snižuje údržbu na úrovni hostitele a také snižuje potřebu spouštět údržbu v Javě, protože Jenkins v Dockeru je dodáván s předinstalovanou a nakonfigurovanou Javou. Kromě toho je zde také snadné nasazení (místo ruční instalace Java a Jenkins na hostitele Linuxu a jeho ruční aktualizace). V podstatě potřebujeme jeden příkaz k nasazení Jenkinse a můžeme na něm hned pracovat.
I když je řešení méně náročné na údržbu, ale stále může být náročné na zdroje (v závislosti na velikosti týmu, počtu kanálů a typu sestavení, která musí být spuštěna). Chcete-li alespoň běžet a používat k učení a procvičování, vyžaduje to 2 GB RAM od hostitelského počítače a pro malý vývojářský tým, aby správně fungoval a spouštěl kanály a sestavení – doporučuje se mít alespoň hostitele se 4 GB RAM a 2jádrový CPU.
Děkuji za váš čas…