Jenkins: Administracja oraz CI/CD – szkolenie kompleksowe
Czas trwania 4 dni
(szkolenie online lub stacjonarne)
Prowadzący szkolenie: Piotr Kośka
Piotr Kośka to doświadczony inżynier infrastruktury i bezpieczeństwa z ponad dekadą praktyki w różnych dziedzinach technologii IT. Procował jako starszy inżynier bezpieczeństwa i infrastruktury w Huuuge Games, gdzie zarządzał zespołem i infrastrukturą chmurową AWS, środowiskiem CI/CD, a także narzędziami automatyzacji takimi jak Ansible, Salt, Terraform i OpenTofu. Pracował również dla Hamsa Pay, 3Shape Poland, Anixe – Jako Architekt architektury chmurowej oraz operator środowisk CI/CD takich jak github actions, Jenkins, Team City.
Piotr jest autorem wielu publikacji, które koncentrują się na różnych aspektach informatyki, w tym na zabezpieczaniu domowych serwerów, a także na tematach związanych z chmurą obliczeniową i językiem Bash, Python. Jego bogate doświadczenie obejmuje pracę z wieloma systemami Linux, takimi jak Ubuntu, Debian, CentOS i CoreOS, a także administrację serwerem Jenkins i zarządzanie kontenerami Docker i LXC/LXD, Kubernetes.
Program szkolenia
Administracja Jenkins
Wprowadzenie do Jenkins, Ansible, Docker, Terraform oraz chmur publicznych
- Wprowadzenie do Continuous Integration/Continuous Delivery (CI/CD)
- Przegląd Jenkins, jego roli w CI/CD oraz podstawowej architektury
- Wprowadzenie do Ansible: co to jest, jakie problemy rozwiązuje, podstawy składni YAML
- Wprowadzenie do Docker: co to jest, podstawy tworzenia obrazów Docker oraz uruchamiania kontenerów
- Wprowadzenie do Terraform: co to jest, jakie problemy rozwiązuje, podstawy składni HCL
- Wprowadzenie do chmur publicznych (DigitalOcean i AWS): omówienie podstawowych usług, modeli cenowych i funkcji
Wprowadzenie do administracji serwerem Jenkins
- Omówienie celów i planu kursu
- Definicja Jenkins i jego zastosowania
- Przegląd panelu administracyjnego Jenkins
Konfiguracja Jenkins
- Instalacja i konfiguracja Jenkins
- Konfiguracja użytkownika administracyjnego
- Omówienie konfiguracji systemu i konfiguracji globalnej
- Omówienie wtyczek i ich zarządzania
Użytkownicy, role i prawa dostępu
- Tworzenie i zarządzanie użytkownikami
- Konfiguracja ról i przydzielanie uprawnień
- Zarządzanie zasobami dostępu
Zarządzanie zadaniami
- Tworzenie i konfiguracja zadań
- Zarządzanie kolejnością zadań
- Monitorowanie i zarządzanie wykonaniem zadań
Zarządzanie węzłami i agentami
- Tworzenie i zarządzanie węzłami
- Konfiguracja agentów Jenkins
- Zarządzanie i monitorowanie zdrowia węzłów i agentów
Backup i przywracanie, aktualizacje i rozwiązywanie problemów
- Strategie tworzenia kopii zapasowych i przywracania Jenkins
- Zarządzanie aktualizacjami systemu i wtyczek
- Techniki rozwiązywania problemów z Jenkins
Continuous Integration/Continuous Delivery
Konfiguracja Jobów w Jenkinsie
- Jak zdefiniować freestyle project
- Jak zdefiniować pipeline project
- Jak zdefiniować foldery dla organizacji jobów
- Praktyczne ćwiczenia na podstawie przykładowych projektów
Praca z Ansible w Jenkinsie
- Wprowadzenie do playbooków Ansible
- Integracja Jenkins z Ansible
- Przykładowe Joby wykorzystujące Ansible
Praca z Dockerem w Jenkinsie
- Tworzenie obrazów Docker jako część procesu CI
- Uruchamianie kontenerów Docker w ramach jobów w Jenkinsie
- Przykładowe Joby wykorzystujące Docker
Wykorzystanie Terraform i chmur publicznych w Jenkinsie
- Wprowadzenie do skryptów Terraform
- Praca z DigitalOcean i AWS za pomocą Terraform
- Przykładowe Joby Jenkinsa wykorzystujące Terraform i chmurę publiczną
Zakończenie kursu: Pytania i odpowiedzi, dyskusja
- Omówienie głównych tematów i odpowiadanie na pytania
- Podsumowanie i dyskusja
- Zakończenie kursu i informacje o dalszych ścieżkach nauczania
Opis szkolenia
Holistyczne szkolenie z zakresu administracji oraz CI/CD w Jenkins. Szczególnie polecane zespołom które chcą wdrożyć Jenkinsa do swojego projektu/organizacji. Na szkolenie składają się dwie części – administracyjna i dotycząca CI/CD.
Część administracyjna obejmuje zakres wdrożenia i zarządzania serwerami Jenkins, w tym poprawna konfiguracja, zarządzanie uprawnieniami, zarządzanie zadaniami, węzłami i agentami, a także kopie zapasowe i ich awaryjne odtwarzanie.
Część Continuous Integration/Continuous Delivery obejmuje konfigurację procesów CI/CD z użyciem Jenkinsa oraz najczęściej wykorzystywanych we współpracy z Jenkinsem narzędzi, w tym: Ansible, Docker, Terraform i chmur publicznych.
Wszystkie sesje będą zawierały teoretyczne wprowadzenie do tematu oraz część praktyczną, w której uczestnicy będą mogli samodzielnie zastosować nowo nabyte umiejętności. Sesje będą interaktywne, z możliwością zadawania pytań i uzyskania na nie odpowiedzi na bieżąco
Po ukończeniu szkolenia uczestnik:
- Będzie rozumiał zasadę działania Jenkins i jego zastosowania: Uczestnicy nauczą się, czym jest Jenkins, jakie są jego główne zastosowania oraz jak skutecznie nawigować po panelu administracyjnym.
- Będzie potrafił skonfigurować serwer Jenkins i jego agentów: Uczestnicy zdobędą praktyczne umiejętności związane z instalacją i konfiguracją Jenkins, zarówno na poziomie systemu, jak i konfiguracji globalnej. Dowiedzą się także, jak zarządzać wtyczkami.
- Będzie potrafił zarządzać użytkownikami, rolami i prawami dostępu: Uczestnicy zdobędą wiedzę na temat tworzenia i zarządzania użytkownikami, konfiguracji ról i przydzielania uprawnień, a także zarządzania zasobami dostępu.
- Będzie potrafił zarządzać zadaniami: Uczestnicy nauczą się tworzyć i konfigurować zadania, zarządzać ich kolejnością i monitorować ich wykonanie.
- Będzie potrafił zarządzać węzłami i agentami: Uczestnicy zdobędą umiejętności związane z tworzeniem i zarządzaniem węzłami, konfiguracją agentów Jenkins, a także monitorowaniem i zarządzaniem zdrowiem węzłów i agentów.
- Bedzie potrafił wykonać backup, przywracanie, aktualizacje i rozwiązywać typowe problemy: Uczestnicy nauczą się tworzyć strategie tworzenia kopii zapasowych i przywracania Jenkins, zarządzać aktualizacjami systemu i wtyczek, a także nauczą się technik rozwiązywania problemów związanych z Jenkins.
- Zrozumie koncepcje Continuous Integration (CI) i Continuous Delivery (CD): W pierwszej sesji uczestnik nauczy się podstawowych zasad CI/CD, w tym jak wygląda proces, jakie korzyści przynosi i jak go efektywnie implementować.
- Pozna podstawy narzędzi Jenkins, Ansible, Docker i Terraform: Uczestnik zrozumie, jakie są kluczowe funkcje tych narzędzi, jak są one wykorzystywane w ekosystemie CI/CD i jak zacząć z nimi pracę.
- Zdobędzie umiejętność instalacji i konfiguracji Jenkinsa: Będzie wiedział, jak pobrać i zainstalować Jenkins, jak skonfigurować użytkownika administracyjnego, a także jak instalować i konfigurować podstawowe wtyczki.
- Nauczy się definiować i konfigurować Joby w Jenkinsie: Uczestnik będzie w stanie zdefiniować freestyle project, pipeline project i foldery do organizacji jobów, oraz zrozumie, jakie są ich charakterystyczne cechy i kiedy je stosować.
- Zdobędzie praktyczne doświadczenie w integracji Jenkinsa z Ansible: Uczestnik pozna podstawy pracy z playbookami Ansible i nauczy się, jak zintegrować Jenkinsa z Ansible, aby automatycznie uruchamiać playbooki jako część procesu CI/CD.
- Nauczy się korzystać z Docker w Jenkinsie: Uczestnik zrozumie, jak tworzyć obrazy Docker i uruchamiać kontenery jako część procesu CI/CD w Jenkinsie.
- Zdobędzie umiejętność korzystania z Terraform i chmur publicznych w Jenkinsie: Uczestnik nauczy się korzystać z skryptów Terraform w Jenkinsie i zrozumie, jak wykorzystać DigitalOcean i AWS jako część swojego procesu CI/CD.
Wymagania dotyczące sprzętu to posiadanie własnego komputera z możliwością uruchomienia VirtualBox lub innego narzędzia do wirtualizacji, co umożliwi praktyczne wykorzystanie umiejętności nabytych podczas szkolenia.