GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit Jenkins Master and Slave na Ubuntu 18.04 LTS

Jenkins je automatizační server rozvětvený z projektu Hudson, má podporu pro mnoho softwarových systémů SCM (Source Control Management), včetně Git, SVN a Mercurial. Jenkins poskytuje stovky pluginů pro automatizaci vašeho projektu. Jenkins nabízí podporu pro architekturu „master/slave“, což jí umožňuje hostit velké množství sestavení projektů.

Jak Jenkins 'master/slave' funguje?

Jenkins master/slave architektura se používá pro distribuovaná prostředí sestavení, kde je pracovní zátěž stavebních projektů distribuována do více uzlů agentů a pro každé sestavení můžeme použít různá prostředí.

V architektuře Jenkins 'master/slave' se master představuje jako základní instalace Jenkins a zpracovává všechny úlohy pro sestavení systému. Jenkins master uzel bude použit pro plánování úloh, monitorování slave uzlů, odesílání sestavení do slave uzlů, záznam a reprezentaci výsledku sestavení a také přímé provádění úloh sestavení.

Podřízené uzly Jenkins jsou nastaveny pro odlehčení sestavení projektů z hlavního serveru a je vyžadováno vytvoření spojení mezi hlavním a podřízenými. Podřízené uzly Jenkins mohou běžet na různých operačních systémech, jako jsou Windows a Linux, a není třeba na ně instalovat plné balíčky Jenkins.

V tomto tutoriálu se naučíme, jak nastavit architekturu Jenkins master-slave pomocí nejnovější verze Ubuntu Ubuntu 18.04 LTS. Naučíme se nastavit hlavní server Jenkins a poté přidat další uzly Ubuntu jako otroky Jenkins.

Předpoklady

  • Ubuntu 18.04
    • hlavní – 10.0.15.10
    • slave01 – 10.0.15.21
    • slave02 – 10.0.15.22
  • Oprávnění uživatele root

Co uděláme?

  1. Nainstalujte Jenkins Master
  2. Nakonfigurujte Jenkins Master Credentials
  3. Konfigurujte uzly Slave Agent Nodes
  4. Přidat nové podřízené uzly
  5. Připravte uzly Slave Agent Nodes k provedení sestavení
  6. Testování

Krok 1 – Instalace Jenkins Master

V tomto tutoriálu se nebudeme zabývat základní instalací Jenkins. Na webu HowtoForge je řada článků, které se týkají instalace Jenkinse.

  • Nainstalujte Jenkinse na Ubuntu 16.04
  • Nainstalujte Jenkinse na Ubuntu 18.04
  • Nainstalujte Jenkinse na CentOS 7

Následuje náš hlavní server Ubuntu 18.04 s nainstalovaným Jenkinsem.

Krok 2 – Konfigurace Jenkins Master Credentials

Když máte nainstalovaný hlavní server Jenkins, musíme nakonfigurovat samotný hlavní server. Ve výchozím nastavení existují různé způsoby, jak spustit uzly agentů Jenkins, můžeme spustit uzly agentů prostřednictvím SSH, účtu správce systému Windows a prostřednictvím Java Web Start (JNLP), vybrat nejlepší způsob v závislosti na nastavení vašeho prostředí a operačním systému.

V této příručce spustíme uzly agentů prostřednictvím ssh a musíme nastavit přihlašovací údaje Jenkins na našem hlavním serveru.

Vygenerovat klíč SSH

K nastavení uzlů našich agentů budeme používat ověřování klíčem ssh, takže musíme vygenerovat klíč ssh pro uživatele Jenkins a poté klíč ručně nahrát do každého uzlu serveru pomocí 'ssh-copy-id'.

Na hlavním serveru Jenkins se přihlaste k uživateli Jenkins a vygenerujte klíč ssh.

su - jenkins
ssh-keygen

A získáte soukromý klíč 'id_rsa' a veřejný klíč 'id_rsa.pub' v adresáři '.ssh'.

Nastavení přihlašovacích údajů na Jenkins

Otevřete svůj ovládací panel Jenkins a klikněte na nabídku 'Credentials' vlevo.

A klikněte na odkaz „globální“ doména.

Nyní klikněte na 'Přidat přihlašovací údaje'.

Nyní vyberte metodu ověření.

  • Druh:Uživatelské jméno SSH se soukromým klíčem
  • Rozsah:Globální
  • Uživatelské jméno:jenkins
  • Soukromý klíč:Zadejte přímo a vložte soukromý klíč 'id_rsa' uživatele Jenkins z hlavního serveru.

Klikněte na 'OK'.

A bylo vytvořeno pověření Jenkins s metodou ssh auth key.

Krok 3 – Nastavení Slave Nodes

Nyní nastavíme server podřízených uzlů instalací javy na tyto servery a vytvoříme nového uživatele Jenkins.

Instalovat Javu

Nainstalujte balíčky 'software-properties-common' a přidejte úložiště java PPA.

sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:openjdk-r/ppa -y

Nyní nainstalujte java OpenJDK pomocí příkazu apt níže.

sudo apt install openjdk-8-jdk -y

Po dokončení instalace zkontrolujte nainstalovanou verzi Java.

java -version

A v systému získáte nainstalovanou Java OpenJDK 1.8.

Přidat nového uživatele Jenkins

Nyní přidejte uživatele 'Jenkins' do všech uzlů agenta.

Spusťte níže uvedený příkaz.

useradd -m -s /bin/bash jenkins
passwd Jenkins

Uživatel 'Jenkins' pro uzly agentů byl vytvořen.

Zkopírujte klíč SSH z Master do Slave

Dále musíme nahrát klíč 'id_rsa.pub' z uzlů hlavního serveru na podřízený server. Potřebujeme nahrát do každého uzlu serveru pomocí příkazu 'ssh-copy-id', jak je uvedeno níže.

ssh-copy-id [email protected]
ssh-copy-id [email protected]

Zadejte uživatelské heslo Jenkins.

Ssh klíč 'id_rsa.pub' byl nahrán do všech uzlů agenta.

Krok 4 – Přidat nové podřízené uzly

Na hlavním panelu Jenkins klikněte na nabídku „Spravovat Jenkins“ a klikněte na „Spravovat uzly“.

Klikněte na 'Nový uzel'.

Zadejte název uzlu 'slave01', vyberte 'permanent agent' a klikněte na 'OK'.

Nyní zadejte podrobnosti informací o uzlu.

  • Popis:server agenta uzlu slave01
  • Vzdálený kořenový adresář:/home/jenkins
  • Štítky:slave01
  • Metoda spuštění:Spusťte podřízeného agenta přes SSH, zadejte IP adresu hostitele '10.0.15.21', zvolte ověření pomocí pověření 'Jenkins'.

Nyní klikněte na tlačítko 'Uložit' a počkejte, až se hlavní server připojí ke všem uzlům agenta a spustí služby agenta.

Níže jsou uvedeny výsledky, když je hlavní server připojen ke všem uzlům agentů.

Podřízené uzly Jenkins byly přidány na hlavní server.

Krok 5 – Příprava uzlů podřízených agentů k provedení sestavení

V tomto kroku nakonfigurujeme hlavní server Jenkins tak, aby spouštěl sestavení na uzlech podřízených agentů.

Klikněte na nabídku 'Manage Jenkins' a poté klikněte na 'Configure System'.

Nyní přejděte do sekce 'Slave Setups' a definujte vše, co potřebujete, jak je uvedeno níže.

Více informací o 'Slave Setups' na odkazu.

Klikněte na tlačítko 'Uložit' a nyní jsme připraveni spustit sestavení na uzlech slave agenta.

Krok 6 – Testování

Nyní chceme vytvořit nové jednoduché sestavení pro Jenkinse a chceme provést sestavení na uzlech agenta robota 'slave01' a 'slave02'.

Na hlavním panelu Jenkins klikněte na nabídku 'Nová položka'.

Zadejte název položky, vyberte projekt freestyle a klikněte na 'OK'.

V obecné části zadejte popis úlohy a zaškrtněte možnost 'Omezit, kde lze tento projekt spustit'.

V 'Label Expression' zadejte uzel, například 'slave01'.

Přejděte do sekce sestavení a vyberte možnost 'Execute shell', zadejte příkaz jako níže.

top -b -n 1 | head -n 10 && hostname

Klikněte na tlačítko 'Uložit' a budete přesměrováni na stránku úlohy.

Klikněte na 'Build Now' pro vytvoření projektu a poté klikněte na položku v sekci 'Build History'.

A následující je můj výsledek.

Stavte na uzlu agenta 'slave01'.

Stavte na uzlu agenta 'slave02'.

Instalace a konfigurace hlavní/podřízené architektury Jenkins a distribuovaných sestavení Jenkins byla úspěšně dokončena.

Odkazy

  • https://wiki.jenkins.io/

Ubuntu
  1. Jak upgradovat na Ubuntu 22.04 LTS z Ubuntu 20.04 LTS a 21.10

  2. Jak nainstalovat Libreoffice 4.3 na Ubuntu 12.04 a 14.04 LTS

  3. Jak nainstalovat Libreoffice 4.4 na Ubuntu 15.04 a 14.04 LTS

  1. Jak nainstalovat a nakonfigurovat Jenkins na Ubuntu 20.04

  2. Jak nastavit Rsyslog Server na Ubuntu 18.04 LTS

  3. Jak nastavit Elasticsearch na Ubuntu 18.04 a 16.04 LTS

  1. Jak nastavit server a klienta Kerberos na Ubuntu 18.04 LTS

  2. Jak nainstalovat Zabbix 2.2 na Ubuntu 14.04 LTS

  3. Jak nainstalovat PHP 5.6, PHP 8.0 a PHP 8.1 na Ubuntu 20.04 LTS