Opakující se úkoly jsou obvykle únavné a nakonec vám zaberou spoustu času a energie. Postupem času bylo vyvinuto několik automatizačních nástrojů, které pomáhají zmírnit potíže s prováděním opakujících se úloh. Jedním z takových automatizačních nástrojů je Jenkins. Jenkins je opensource automatizační server, který je navržen tak, aby pomáhal vývojářům softwaru vytvářet, testovat a nasazovat aplikace, a tím zefektivnit nepřetržitou integraci a proces dodávání.
Již dříve jsme napsali článek o tom, jak nainstalovat Jenkins na CentOS 8/RHEL 8. V tomto článku uděláme věci trochu jinak a spustíme kontejner Jenkins jako službu systemd s dockerem.
Předpoklady
Než budete pokračovat, je potřeba provést několik věcí.
- Docker nainstalovaný ve vašem systému Linux.
- Běžný uživatel s právy sudo.
Krok 1) Nainstalujte Docker Engine
Chcete-li začít, musíte mít v systému nainstalovaný Docker engine. Máme podrobný článek o tom, jak nainstalovat Docker na CentOS 8 / RHEL 8. Spusťte níže příkaz docker pro zobrazení verze dockeru
$ sudo docker version
Z úryvku výše jsme potvrdili, že je nainstalován docker a že používáme verzi dockeru 19.03.13.
Krok 2) Vytvořte uživatele Jenkins
Dále vytvoříme uživatele systému „Jenkins“, který bude spravovat službu Jenkins. Nejprve však vytvořte systémovou skupinu pro Jenkinse:
$ sudo groupadd --system jenkins
Poté vytvořte uživatele systému Jenkins
$ sudo useradd -s /sbin/nologin --system -g jenkins jenkins
A nakonec přidejte uživatele Jenkins do skupiny dockerů, jak je znázorněno:
$ sudo usermod -aG docker jenkins
Chcete-li potvrdit, že uživatel Jenkins je přidán do skupiny dockerů, spusťte příkaz id podle obrázku
$ id jenkins
Výstup bude,
[[email protected] ~]$ id jenkins uid=991(jenkins) gid=986(jenkins) groups=986(jenkins),989(docker) [[email protected] ~]$
Fantastický! Pokračujme a vytáhněte Jenkinsův obrázek.
Krok 3) Vytáhněte Jenkinsův obrázek z centra Docker
Chcete-li stáhnout nejnovější bitovou kopii Jenkins z centra Docker, vyvolejte následující příkaz.
$ sudo docker pull jenkins/jenkins:lts
Při poměrně stabilním internetovém připojení to obvykle trvá několik sekund. Po stažení ověřte, zda je přítomen Jenkinsův obrázek, vyvoláním následujícího příkazu:
$ sudo docker images | grep jenkins
Výstup výše uvedeného příkazu by byl:
[[email protected] ~]$ sudo docker images | grep jenkins jenkins/jenkins lts f669140ba6ec 6 days ago 711MB [[email protected] ~]$
Jenkins vyžaduje trvalé úložiště pro ukládání dat a opětovné použití i v případě havárie kontejneru. Proto vytvoříme adresář úložiště, jak je znázorněno.
$ sudo mkdir /var/jenkins $ sudo chown -R 1000:1000 /var/jenkins
Krok 4) Vytvořte službu systemd pro Jenkinse
Pomocí preferovaného textového editoru vytvořte soubor Jenkins systemd, jak je znázorněno:
$ sudo vi /etc/systemd/system/jenkins-docker.service
Vložte následující obsah a uložte soubor.
[Unit] Description=Jenkins Server Documentation=https://jenkins.io/doc/ After=docker.service Requires=docker.service [Service] Type=simple User=jenkins Group=jenkins TimeoutStartSec=0 Restart=on-failure RestartSec=30s ExecStartPre=-/usr/bin/docker kill jenkins-server ExecStartPre=-/usr/bin/docker rm jenkins-server ExecStartPre=/usr/bin/docker pull jenkins/jenkins:lts ExecStart=/usr/bin/docker run --name jenkins-server --publish 8080:8080 --publish 50000:50000 --volume /var/jenkins:/var/jenkins_home jenkins/jenkins:lts SyslogIdentifier=jenkins ExecStop=/usr/bin/docker stop jenkins-server [Install] WantedBy=multi-user.target
Chcete-li spustit službu Jenkins, nejprve znovu načtěte systemd a poté spusťte Jenkins.
$ sudo systemctl daemon-reload $ sudo systemctl start jenkins-docker
Nyní zkontrolujeme, zda Jenkins běží. Za tímto účelem provedeme:
$ sudo systemctl status jenkins-docker
Skvělý ! Jenkins funguje jako systémová služba. Protože Jenkins poběží na portu 8080, otevřete port na bráně firewall, jak je znázorněno:
$ sudo firewall-cmd --permanent --add-port=8080/tcp $ sudo firewall-cmd --reload
Chcete-li nastavit Jenkins, jednoduše projděte adresu URL serveru, jak je znázorněno
http://server-ip:8080
Zobrazí se stránka „Odemknout Jenkinse“, jak je znázorněno. Chcete-li pokračovat, musíte zadat heslo, které se nachází v zobrazeném souboru
[[email protected] ~]$ cat /var/jenkins/secrets/initialAdminPassword 9c61bd823a404056bf0a408f4622aafc [[email protected] ~]$
Po dokončení klikněte na „Pokračovat“
Dále vyberte možnost „Instalovat navrhované pluginy“, jak je znázorněno.
Poté vytvořte administrátora pro účet Jenkins a klikněte na „Uložit a pokračovat“
Instalační program vás provede zbývajícími kroky až do úplného konce. Po úspěšné instalaci získáme následující Jenkins dashboard
A je to zábal. V této příručce jste se naučili, jak spustit Jenkins v kontejneru dockeru jako službu systemd.
Přečtěte si také : Jak nainstalovat a nakonfigurovat Jenkins na Ubuntu 20.04