Obsah

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

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


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