Jenkins je široko používaný automatizačný server s otvoreným zdrojom, ktorý pomáha automatizovať rôzne časti procesu vývoja softvéru vrátane vytvárania, testovania a nasadzovania aplikácií.
Docker je platforma kontajnerizácie, ktorá nám umožňuje spúšťať aplikácie a služby v izolovaných prostrediach známych ako kontajnery.
V tomto návode sa naučíme, ako skombinovať Jenkins s Dockerom, čo nám umožňuje vytvoriť škálovateľný a prenosný Jenkinsov server.
POZNÁMKA: V tomto návode použijeme oficiálny obrázok jenkins/jenkins z úložiska Docker Hub. Tento obrázok obsahuje aktuálne vydanie Long-Term Support (LTS) Jenkins, ktoré je pripravené na výrobu.
Vytvorte sieť
Prvým krokom je vytvorenie novej siete Docker na izoláciu inštancie Jenkins. To uľahčuje lepšiu komunikáciu.
Na vytvorenie premostenej siete v Dockeri môžeme spustiť nasledujúci príkaz:
$ docker network vytvoriť jenkins
Vznikne tak premostená sieť s názvom Jenkins.
Spustite kontajner Jenkins Docker
Keď máme sieť nakonfigurovanú, môžeme spustiť kontajner Jenkins pomocou oficiálneho obrazu Jenkins Docker.
Tiež špecifikujeme sieť a nakonfigurujeme zväzok pre perzistenciu údajov Jenkins. Príkaz je nasledovný:
docker spustiť \--názov jenkins-docker \
--rm \
-- odpojiť \
-- privilegovaný \
-- sieť jenkins \
--network-alias dokovacia stanica \
--env DOCKER_TLS_CERTDIR = / certifikáty \
-- objem jenkins-docker-certs: / certifikáty / zákazník \
-- objem jenkins-data: / bol / jenkins_home \
--zverejniť 2376 : 2376 \
docker:from \
--storage-driver prekrytie2
Predchádzajúci príkaz spustí kontajner Docker-in-Docker (DinD) s názvom „jenkins-docker“ so zvýšenými oprávneniami a konfiguráciami siete.
Príznak –rm zaisťuje, že kontajner sa automaticky odstráni, keď sa zastaví. Kontajner je pripojený k sieti Jenkins so sieťovým aliasom ako „docker“ vytvoreným v predchádzajúcom kroku.
Potom nastavíme premenné prostredia pre certifikáty Docker TLS a pripojíme zväzky pre ukladanie certifikátov a údaje Jenkins.
V ďalšej časti zverejňujeme port 2376 pre komunikáciu démona Docker.
Nakoniec určíme obrázok docker:dind a nakonfigurujeme ovládač úložiska tak, aby používal prekrytie2.
Prístup k webovému používateľskému rozhraniu Jenkins
Po spustení kontajnera môžeme pristupovať k inštancii Jenkins z webového prehliadača pomocou adresu.
Ak chcete spustiť jednoduchý kontajner Jenkins, môžete použiť nasledujúci príkaz:
$ spustiť docker -d -p 8080 : 8080 -p 50 000 : 50 000 --názov jenkins \-- sieť jenkins \
-v jenkins_home: / bol / jenkins_home \
jenkins / jenkins:lts
Tým sa spustí server Jenkins bez potreby konfigurácie ďalších funkcií, ako sú zväzky, porty viazania a ďalšie.
Potom môžete pristupovať k inštancii Jenkins na .
Keď bude Jenkins pripravený, váš prehliadač vám umožní rýchlo nakonfigurovať server Jenkins s vlastnosťami, ako si želáte.
Po nastavení musíte Jenkins odomknúť zadaním hesla správcu. Nájdete ho spustením nasledujúceho príkazu:
$ docker logs Jenkins
Príkaz vám zobrazí protokoly pre kontajner, ktorý obsahuje heslo Jenkins.
Ďalším krokom je výber a inštalácia doplnkov, ktoré chcete použiť pre svoju inštanciu Jenkins. Ak používate Jenkins prvýkrát, vyberte si odporúčané doplnky.
To by malo umožniť Jenkinsovi stiahnuť a nainštalovať všetky predvolené doplnky, ktoré vám umožnia ľahko komunikovať s potrubím Jenkins.
Záver
V tomto návode ste sa naučili, ako môžete nastaviť server Jenkins ako kontajner pomocou Dockera a oficiálneho obrazu Jenkins.