Jenkins je široce používaný open-source automatizační server, který pomáhá automatizovat různé části procesu vývoje softwaru včetně vytváření, testování a nasazování aplikací.
Docker je kontejnerizační platforma, která nám umožňuje spouštět aplikace a služby v izolovaných prostředích známých jako kontejnery.
V tomto tutoriálu se naučíme, jak kombinovat Jenkins s Dockerem, což nám umožňuje vytvořit škálovatelný a přenosný Jenkinsův server.
POZNÁMKA: V tomto tutoriálu použijeme oficiální obrázek jenkins/jenkins z úložiště Docker Hub. Tento obrázek obsahuje aktuální vydání Long-Term Support (LTS) Jenkinse, které je připraveno k produkci.
Vytvořte síť
Prvním krokem je vytvoření nové sítě Docker pro izolaci instance Jenkins. To usnadňuje lepší komunikaci.
Pro vytvoření přemostěné sítě v Dockeru můžeme spustit následující příkaz:
$ docker network vytvořit jenkins
Vznikne tak přemostěná síť zvaná Jenkins.
Spusťte Jenkins Docker Container
Jakmile máme síť nakonfigurovanou, můžeme spustit kontejner Jenkins pomocí oficiálního obrazu Jenkins Docker.
Také specifikujeme síť a nakonfigurujeme svazek pro perzistenci dat Jenkins. Příkaz je následující:
docker spustit \--název jenkins-docker \
--rm \
--odpojit \
--výsadní \
--síť jenkins \
--alias sítě dokovací stanice \
--env DOCKER_TLS_CERTDIR = / certifikáty \
--hlasitost jenkins-docker-certs: / certifikáty / klient \
--hlasitost jenkins-data: / byl / jenkins_home \
--publikovat 2376 : 2376 \
docker:from \
--storage-driver překrytí2
Předchozí příkaz spustí kontejner Docker-in-Docker (DinD) s názvem „jenkins-docker“ se zvýšenými oprávněními a konfigurací sítě.
Příznak –rm zajišťuje, že kontejner je automaticky odstraněn, když se zastaví. Kontejner je připojen k síti Jenkins se síťovým aliasem jako „docker“ vytvořeným v předchozím kroku.
Poté nastavíme proměnné prostředí pro certifikáty Docker TLS a připojíme svazky pro úložiště certifikátů a data Jenkins.
V další části zveřejníme port 2376 pro komunikaci démona Docker.
Nakonec určíme obrázek docker:dind a nakonfigurujeme ovladač úložiště tak, aby používal překryv2.
Přístup k webovému uživatelskému rozhraní Jenkins
Jakmile spustíme kontejner, můžeme přistupovat k instanci Jenkins z webového prohlížeče pomocí adresa.
Pokud chcete spustit jednoduchý kontejner Jenkins, můžete použít následující příkaz:
$ spustit docker -d -p 8080 : 8080 -p 50 000 : 50 000 --název jenkins \--síť jenkins \
-v jenkins_home: / byl / jenkins_home \
jenkins / jenkins:lts
To spouští server Jenkins bez nutnosti konfigurovat další funkce, jako jsou svazky, porty vazeb a další.
Poté můžete přistupovat k instanci Jenkins na .
Jakmile bude Jenkins připraven, váš prohlížeč vám umožní rychle nakonfigurovat server Jenkins s vlastnostmi, jak si přejete.
Jakmile je nastavení, musíte Jenkins odemknout zadáním hesla správce. Najdete jej spuštěním následujícího příkazu:
$ docker logs jenkins
Příkaz vám zobrazí protokoly pro kontejner, který obsahuje Jenkinsovo heslo.
Dalším krokem je vybrat a nainstalovat pluginy, které chcete použít pro svou instanci Jenkins. Pokud Jenkins používáte poprvé, zvolte doporučené pluginy.
To by mělo Jenkinsovi umožnit stáhnout a nainstalovat všechny výchozí pluginy, které vám umožní snadnou interakci s Jenkinsovými kanály.
Závěr
V tomto tutoriálu jste se naučili, jak můžete nastavit server Jenkins jako kontejner pomocí Dockeru a oficiálního obrazu Jenkins.