Pipeline as a code: automatyzacja tworzenia pipelinów przy użyciu Jenkins Job DSL
W obecnych czasach nie trzeba już chyba nikogo przekonywać jak ważna jest automatyzacja w procesie ciągłego dostarczania oprogramowania. Od dawna automatyzujemy wszelkie etapy ww. procesu, piszemy liczne testy automatyczne odpalane w ramach zautomatyzowanego procesu budowania aplikacji, którą następnie w sposób zautomatyzowany wdrażamy na środowiska, których provisioning również przebiega w sposób zautomatyzowany. Nawet nasza JIRA potrafi automatycznie utworzyć nowy branch w repozytorium kodu źródłowego w momencie gdy rozpoczynamy prace nad nowym zadaniem.
Automatyzujemy już prawie wszystko co ma sens, a mimo to nadal większość firm tworzy pipeliny umożliwiające przeprowadzenie zautomatyzowanego procesu budowania, testowania i wdrażania oprogramowania w sposób manualy. Jest to szczególnie dziwne w czasach wszechobecnych mikrousłóg, gdzie każdy nowy mikroserwis skutkuje utworzeniem kolejnego pipelinu.
Podczas warsztatu poznamy Jenkins Job DSL, który jest jednym z dostępnych rozwiązań dla przedstawionej powyżej sytuacji. Job DSL pozwoli nam zautomatyzować proces tworzenia zarówno pojedynczych jobów i widoków, jak i całych pielinów. Zobaczymy również jak w jeszcze większym stopniu ułatwić automatyzację procesu tworzenia pipelinów poprzez tworzenie własnych DSLi na bazie Job DSL.
Zapewniamy nielimitowany dostęp do pysznej kawy oraz pizzę. ☺
Czego się nauczysz?
- poznamy DSL dostarczany przez Jenkins Job DSL oraz zobaczymy za co odpowiada sam plugin,
- zapoznamy się z API Viewer umożliwiającym odkrywanie API dostarczanego DSLa,
- stworzymy własne joby, widoki i pipeliny,
- przeniesiemy konfigurację pipelinów do projektów przez nie budowanych, tak aby konfiguracja specyficna dla poszególnych projektów była odseparowana od kodu generującego joby i pipeliny,
- stworzymy własnego DSLa na bazie job-dsl,
- napiszemy testy do naszych skryptów i DSLi.
Dla kogo jest ten warsztat?
Prowadzący
Software developer, entuzjasta JVM i open-source, aktywny członek Java community.
Program warsztatów
- Nakreślenie problemu jaki rozwiązuje automatyzacja procesu tworzenia jobów i pipelinów.
- Manualne tworzenie jobów.
- Poznanie wewnętrznych mechanizmóœ Jenkinsa w celu zrozumienia na czym polegać będzie automatyzacja ww. procesu.
- Zapoznanie się z DSLem dostarczanym przez job-dsl plugin.
- Zapoznanie się z API Viewer.
- Zapoznanie się z pluginem job-dsl oraz sposobem jego integracji z Jenkinsem.
- Tworzenie jobów w sposób zautomatyzowany.
- Wykorzystanie języka groovy do rozszerzenia możliwości DSL oraz samego Jenkinsa.
- Eksternalizacja konfiguracji jobów.
- Tworzenie widoków.
- Tworzenie pipelinów.
- Tworzenie własnego DSLa w oparciu o job-dsl.
Uwaga
Zapisy na wybrany warsztat zostały zakończone.