GNU/Linux >> Znalost Linux >  >> Ubuntu

Jenkins žurnály - prohlížení a přizpůsobení

Úvod

Jenkins nabízí open-source řešení pro automatizaci CI/CD pro vývojáře. Jednou z funkcí, které Jenkins nabízí, je automatické protokolování výkonu sestavení.

Kontrola protokolů Jenkins může nabídnout spoustu informací o tom, jak dobře váš kód funguje. To je užitečné zejména při identifikaci problémů nebo hledání prvků, které lze lépe optimalizovat.

V tomto tutoriálu vám ukážeme, jak najít, zobrazit a upravit soubory protokolu Jenkins.

Předpoklady

  • Kopie Jenkins nainstalovaná a připravená k použití.
  • Přístup k webovému prohlížeči.
  • Přístup k textovému editoru, jako je Nano, Vim nebo Poznámkový blok.

Kde jsou Jenkinsovy protokoly uloženy?

Kde jsou protokoly Jenkins uloženy, závisí na základním operačním systému.

  • Linux a macOS - Jenkinsovy protokoly jsou uloženy spolu s dalšími protokolovými soubory v /var/log adresář.
  • Windows - Soubory protokolu Jenkins jsou uloženy v domovské složce Jenkins, která je určena během instalace.

Umístění protokolu Jenkins je možné změnit úpravou jeho konfiguračního souboru služby. Název a umístění tohoto souboru závisí na základním OS:

  • Systém založený na Debianu - /etc/default/Jenkins
  • Systémy založené na Red Hat - /etc/sysconfig/Jenkins
  • MacOS org.jenkins-ci.plist
  • Windows - [JENKINS HOME]/jenkins.xml

Jak zobrazit protokoly Jenkins?

Chcete-li zobrazit soubor protokolu Jenkins, otevřete jej pomocí textového editoru podle vašeho výběru. Níže jsou uvedena výchozí umístění souborů protokolu Jenkins v závislosti na operačním systému.

Uživatelské rozhraní Jenkins

Ve výchozím nastavení uchovává Jenkins konstantní protokol o všech aktivitách jako součást ovládacího panelu Jenkins.

1. Pro přístup k tomuto protokolu klikněte na Spravovat Jenkins odkaz na pravé straně řídicího panelu.

2. Klikněte na Systémový protokol tlačítko v Informacích o stavu sekce.

3. Klikněte na Všechny protokoly Jenkins odkaz pro přístup k výchozímu protokolu.

Každý řádek protokolu uvádí čas a datum akce, úroveň protokolování, prvek Jenkinse provádějícího akci a prováděnou akci, po níž následuje stručný popis.

Linux

Výchozí umístění protokolů Jenkins v systému Linux je /var/log/jenkins/jenkins.log . Chcete-li zobrazit soubor protokolu, otevřete jej pomocí textového editoru, jako je Nano:

sudo nano /var/log/jenkins/jenkins.log

Windows

V systému Windows jsou soubory protokolu Jenkins uloženy jako jenkins.out (výstupní protokoly konzoly) a jenkins.err (protokoly chyb) v domovské složce Jenkins.

Umístění domovské složky Jenkins je určeno během instalace. Výchozí umístění je C:\ProgramData\Jenkins\.jenkins .

Důležité: ProgramData složka je ve výchozím nastavení skrytá. Před pokusem o zobrazení protokolů Jenkins se ujistěte, že jste povolili zobrazení skrytých položek.

Pokud si nejste jisti, kterou složku jste nastavili jako domovskou složku Jenkins, klikněte na Spravovat Jenkins odkaz na levé straně ovládacího panelu Jenkins.

V části Konfigurace systému klikněte na Konfigurovat systém tlačítko.

Umístění domovské složky Jenkins je uvedeno v horní části stránky v části Domovský adresář .

MacOS

V systému MacOS jsou protokoly Jenkins umístěny na adrese /var/log/jenkins/jenkins.log ve výchozím nastavení:

sudo nano /var/log/jenkins/jenkins.log

Docker

Zobrazení protokolů Jenkins v Dockeru vyžaduje spuštění Jenkins v odděleném kontejneru. Otevřete protokoly Jenkins pomocí logs Dockeru příkaz a ID pro odpojený kontejner:

docker logs [container ID]

Jak povolit protokoly ladění v Jenkins?

Jenkins umožňuje uživatelům nastavit nové záznamníky při použití Systémového protokolu strana. Tyto záznamníky shromažďují a zobrazují informace o konkrétních prvcích vašeho kódu a můžete je doladit, aby poskytovaly podrobnější výstup.

Pokud budete mít k dispozici podrobnější protokol, bude snazší odhalit a určit příčinu potenciálních chyb v kódu. To je velmi užitečné při ladění problémů.

1. Chcete-li nastavit nový záznamník, klikněte nejprve na Přidat nový záznamník v Záznamy záznamů části Systémového protokolu stránku.

2. Dále zadejte název nového záznamníku a klikněte na OK knoflík. V tomto příkladu pojmenujeme náš záznamník protokolu Dig Debug .

3. Chcete-li přizpůsobit výstup, který nový záznamník shromažďuje a zobrazuje, klikněte na tlačítko Přidat tlačítko pro přidání nového loggeru. Pomocí vstupního pole vyhledejte prvek a z rozbalovací nabídky vyberte úroveň protokolu. Obecně je nejlepší použít ALL nebo FINE úroveň protokolování pro účely ladění.

4. V našem příkladu chceme ladit pluginy související s Git. Za tímto účelem přidáme nové loggery monitorující tyto pluginy a nastavíme úroveň protokolování na VŠECHNY.

5. Po dokončení přidávání nových záznamníků klikněte na Uložit tlačítko pro uložení nového záznamníku Jenkins.

6. Jakmile nastavíte nový záznamník protokolu, otevřete jej kliknutím na jeho název v části Záznamy protokolů sekce. Otevřete záznamník a klikněte na Záznamy protokolu odkaz na levé straně pro kontrolu nových záznamů protokolu.

Jaké protokoly Jenkins byste měli sledovat?

Některé události v protokolu Jenkins mohou naznačovat problémy s kódem nebo samotnou aplikací Jenkins. Sledování těchto událostí je snadný způsob, jak rychle diagnostikovat problémy s výkonem a předcházet jim.

Zobrazuje se OutOfMemoryError zpráva označuje, že Jenkinsovi došla systémová paměť. Chcete-li tento problém vyřešit, použijte menší haldu Java nebo zkontrolujte stará uložená data na adrese:

[Jenkins URL]/administrativeMonitor/OldData/manage

java.lang.OutOfMemoryError: GC overhead limit exceeded dojde k chybě, když Java Garbage Collector překročí limit paměti. Rychlým řešením je vymazat stará sestavení, která mohou zabírat paměť.

Dalším běžným problémem je spotřeba procesoru indikovaná OutOfMemoryError: PermGen space chyba. Tomu se můžete vyhnout minimalizací počtu sestavení běžících na hlavním uzlu, omezením historie sestavení, zajištěním aktualizace všech Jenkins pluginů a sledováním toho, jak ostatní aplikace využívají CPU.

Jak přizpůsobit protokoly Jenkins?

Formátování protokolů Jenkins může někdy znesnadnit jejich čtení, zejména při použití vyšších úrovní protokolování. Dlouhé kanály s desítkami nebo stovkami řádků kódu také představují výzvu.

Níže je uveden příklad protokolu pro jednoduchý kanál, který vytiskne číslo verze sestavení:

Ve výše uvedeném výstupu není snadné vidět, kde etapa začíná a končí. Jediným ukazatelem je stage výstup na začátku a // stage na konci jsou oba zobrazeny světle šedou.

Přidání zprávy s echo příkaz na začátku fáze usnadňuje oddělování různých fází při pohledu na výstup konzoly. To také umožňuje uživatelům přidávat stručné popisy, takže je ještě snazší porozumět výstupu.

Další metodou je přidání echo příkaz bez textu zprávy. Tím se vytvoří prázdný řádek a výstup bude snáze čitelný.


Ubuntu
  1. Otočte a archivujte protokoly pomocí příkazu logrotate systému Linux

  2. Rozdíl mezi /var/log/messages, /var/log/syslog a /var/log/kern.log?

  3. Zobrazení protokolů na vzdáleném linuxovém serveru

  1. Jak zobrazit protokoly Apache Access &Error Logs

  2. Umístění společných souborů protokolu a konfiguračních souborů pro služby cPanel

  3. úroveň protokolu printk a konzoly

  1. Jak prohlížet a číst soubory protokolu Linux

  2. Jenkins Shared Library:Jak vytvářet, konfigurovat a používat

  3. Jak nainstalovat a nakonfigurovat Jenkins na Ubuntu 20.04