Uživatelské nástroje

Nástroje pro tento web


jenkins

Jenkins

Jenkins je open-source automatizační server napsaný v jazyce Java. Pomáhá vývojářům automatizovat části procesu vývoje softwaru, jako je sestavování (build), testování a nasazování (deploy), čímž usnadňuje implementaci průběžné integrace a doručování.

Hlavní vlastnosti

  • Open-source: Zcela zdarma a spravovaný komunitou.
  • Pluginy: Existuje přes 1 800 pluginů, které umožňují Jenkins propojit prakticky s čímkoliv (Docker, Kubernetes, Slack, Jira, různé cloudové služby).
  • Distribuované sestavování: Jenkins může delegovat práci na více „agentů“ (slave uzlů), což umožňuje paralelní sestavování na různých operačních systémech.
  • Pipeline as Code: Moderní způsob definování procesů pomocí souboru Jenkinsfile (psaném v jazyce Groovy).

Jak funguje Jenkins Pipeline?

Pipeline je sada kroků, které Jenkins provádí. Rozlišují se dva typy zápisu:

  1. Declarative Pipeline: Novější, přehlednější a doporučený formát (začíná klíčovým slovem pipeline).
  2. Scripted Pipeline: Starší, založený přímo na Groovy, poskytuje maximální flexibilitu za cenu vyšší složitosti.

Příklad jednoduché deklarativní pipeline (Jenkinsfile)

pipeline {
    agent any 
    stages {
        stage('Build') {
            steps { echo 'Kompiluji kód...' }
        }
        stage('Test') {
            steps { echo 'Spouštím unit testy...' }
        }
        stage('Deploy') {
            steps { echo 'Nasazuji do produkce...' }
        }
    }
}

Srovnání: Jenkins vs. GitHub Actions

Vlastnost Jenkins GitHub Actions
Správa Musíte si ho sami nainstalovat a spravovat (Self-hosted). Hostováno GitHubem (SaaS), ale lze i vlastní agenty.
Konfigurace Velmi komplexní, přes GUI nebo Groovy. Jednoduchá, přes YAML soubory.
Rozšiřitelnost Obrovské množství pluginů (často starších). Moderní „Actions“ sdílené v Marketplace.
Vhodnost Složité firemní on-premise systémy. Moderní cloud-native vývoj a open-source.

Výhody a nevýhody

  • (+) Flexibilita: Neexistuje proces, který by v Jenkinsu nešel zautomatizovat.
  • (+) Nezávislost: Máte plnou kontrolu nad svými daty a infrastrukturou.
  • (-) Údržba: Musíte se starat o aktualizace serveru, bezpečnost a pluginy (tzv. „Plugin Hell“).
  • (-) Uživatelské rozhraní: Design vypadá ve srovnání s moderními nástroji zastarale.

Tip: Pokud začínáte s novým projektem na GitHubu, pravděpodobně bude lepší volbou GitHub Actions. Pokud ale pracujete ve velké korporaci s vlastními servery a složitým procesem, Jenkins je stále králem.

Související: CI/CD, DevOps, Docker, Oficiální web Jenkins

jenkins.txt · Poslední úprava: autor: admin