GNU/Linux >> Znalost Linux >  >> Ubuntu

Nainstalujte a spusťte Jenkins pomocí Systemd a Docker

Když si stáhnete a nakonfigurujete Jenkins pomocí dockeru, musíte ke správě procesu použít ruční příkaz. Stává se to docela nebezpečné a komplikované. Budeme to tedy spravovat pomocí systemd. Ve skutečnosti je to správce systému a služeb pro operační systémy Linux. Obsahuje spouštění, povolení, restartování a zastavování démonů, protokolování atd. na vyžádání.

V tomto článku se chystám stáhnout balíček Jenkins z úložiště docker hub a spravovat jej pomocí správce systemd. Použil jsem Ubuntu Linux, ale můžete to udělat v centos, Debian, Redhat atd., které podporují systemd.

Předpoklady

  1. Nainstalována nejnovější verze dockeru
  2. Připojení k internetu pro stažení obrázku Jenkins

Konfigurace

Ke spuštění procesu potřebujeme uživatele. Vytvoříme tedy systémovou skupinu, přidáme do skupiny systémového uživatele. Protože se nemusíte přihlašovat, neposkytujeme žádný přihlašovací shell. Zde jsem uvedl název ‚devops‘, můžete zadat podle svého výběru.

$ sudo groupadd --system devops
$ sudo useradd -s /sbin/nologin --system -g devops devops

Během instalace dockeru byl ve výchozím nastavení přidán uživatelský docker. Chcete-li tedy spustit náš proces uvnitř dockeru, přidejte uživatele „devops“ a vašeho aktuálního přihlášeného uživatele do skupiny dockerů.

$ sudo usermod -aG docker devops
$ sudo usermod -aG docker $USER

Potřebujeme adresář pro mapování objemu kontejneru na hostitele. Vytvořme tedy adresář a dáme aktuálnímu uživateli vlastnictví v adresáři.

$ sudo mkdir -p /data/jenkins
$ chown -R $USER:$USER /data/jenkins

Nyní můžete ověřit uživatele „devops“ pomocí následujícího příkazu. Váš výstup musí být podobný následujícímu.

$ id devops

Nyní je čas vytvořit službu. Soubory služeb jsou uloženy v /etc/systemd/system/ Vytvořte tedy soubor s příponou .service, jak je ukázáno níže.

$ vim /etc/systemd/system/docker-jenkins.service

Přidejte do souboru následující obsah. Následující konfigurace vytvoří název služby docker-jenkins. Jednoduše stáhne nejnovější verzi obrazu jenkins z docker hubu a spustí kontejner. Bude také mapovat porty 8080 a 50000 na hostitelském serveru, které jsou potřebné pro přístup ke službě jenkins. Jak je definováno v části Jednotka níže, vyžaduje úspěšné provedení docker.service. Pokud máte různé uživatele, přípojné body se odpovídajícím způsobem změní.

[Unit]

Description=My Jenkins Server

Documentation=https://jenkins.io/doc/

After=docker.service

Requires=docker.service

[Service]

Type=simple

User=devops

Group=devops

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

ExecStart=/usr/bin/docker run \

--name jenkins-server \

--publish 8080:8080 \

--publish 50000:50000 \

--volume /data/jenkins:/var/jenkins_home \

jenkins/jenkins

SyslogIdentifier=jenkin

ExecStop=/usr/bin/docker stop jenkins-server

[Install]

WantedBy=multi-user.target

Znovu načtěte soubor služby v démonu systemd pomocí následujícího příkazu.

$ sudo systemctl daemon-reload

Spusťte službu docker pomocí příkazu níže.

$ sudo systemctl start docker-jenkins

Systemd také poskytuje výchozí službu protokolování v syslog. Záznam můžete vidět na následujícím umístění.

$ sudo tail -f /var/log/syslog

Nyní můžete službu spustit po restartování serveru pomocí funkce „povolení“ správce systému.

$ sudo systemctl enable docker-jenkins

Zkontrolujte také restartováním služby.

$ sudo systemctl restart docker-jenkins

Jenkins nastavení

Chcete-li nastavit jenkins, nejprve navštivte http://yourserverip:8080 Poté musíte zadat počáteční heslo správce, které se nastavuje v následující cestě. Zkopírujte výstup a vložte jej do „Heslo správce“. Poté klikněte na pokračovat.

$ cat /data/jenkins/secrets/initialAdminPassword

Můžete nainstalovat požadovaný plugin a pokračovat.

Závěr

V tomto článku jste se naučili nainstalovat nejnovější verzi Jenkins pomocí dockeru a nakonfigurovat službu tak, aby ji používala. Správa Jenkinse pomocí systemd usnadňuje práci. Děkuji za přečtení.


Ubuntu
  1. Jak nainstalovat a hostovat server OpenVPN pomocí Dockeru

  2. Jak nainstalovat Jenkins pomocí Docker

  3. Jak nainstalovat Docker a spustit kontejnery Docker v Ubuntu

  1. Jak nasadit a spustit Redis v Dockeru

  2. Nainstalujte a spusťte Vagrant na Ubuntu 20.04

  3. Konfigurace služby Systemd pro spuštění s přístupem root

  1. Jak nainstalovat a nakonfigurovat Jenkins na Ubuntu 20.04

  2. Jak spustit Jenkins Container jako službu Systemd pomocí Dockeru

  3. Jak spouštět kontejnery jako službu Systemd s Podmanem