jenkins
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
- 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:
- Declarative Pipeline: Novější, přehlednější a doporučený formát (začíná klíčovým slovem
pipeline). - 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
