Kategorie: Linux (wszystkie) , DevOps. CI/CD, Ansible, Docker i Kubernetes, cloud
O szkoleniu
Podczas szkolenia uczestnik zagłębi się w praktyczną wiedzę, związaną z nowoczesnymi rozwiązaniami ciągłego budowania i wdrażania oprogramowania (CI/CD).
Od inżynierów wymaga się tworzenia, testowania i wdrażania aplikacji w sposób niezawodny i powtarzalny. Uczestnicy szkolenia nauczą się różnych metod konfiguracji i aktywnego wykorzystywania serwera Jenkins, wraz z integracją z Git i testami, oraz z omówieniem różnych możliwych scenariuszy.
Coraz większą rolę w procesach CI/CD odgrywa sztuczna inteligencja, której narzędzia usprawniają proces przygotowania i konfiguracji, mogą być wykorzystywane do generowania testów, plików konfiguracyjnych, a także do audytu i raportowania. Niezależnie od faktu, że z AI warto korzystać, każdy profesjonalista powinien rozumieć artefakty uzyskiwane za jej pomocą, aby móc ocenić ich jakość i zgodność z wymaganiami. Na naszym szkoleniu korzystamy z AI jako narzędzia ułatwiającego pracę, ale nie próbujemy zastępować za jej pomocą człowieka.
Serwer automatyzacyjny Jenkins, to narzędzie w pełni darmowe (open source), jednocześnie oferujące potężne możliwości. Bogaty zestaw funkcji stale powiększa się, dzięki bardzo aktywnie działającej społeczności. Bardzo rozbudowany ekosystem gotowych, zewnętrznych rozszerzeń (plug-in) daje nieograniczone możliwości w dostosowaniu rozwiązania do własnych potrzeb.
Omówione zostaną również różne sposoby testowania aplikacji, jak i procesy umożliwiające przyspieszenie wdrażania nowych wersji aplikacji. Uczestnik dowie się jak wdrożyć rozwiązanie w obecnym środowisku, oraz jak integrować je z innymi rozwiązaniami i usługami (takimi jak Git, Maven, AWS, Docker i wiele innych).
Każdy uczestnik po zakończeniu szkolenia będzie posiadał następujące umiejętności / wiedzę:
- kilkukrotne zmniejszenia czasu potrzebnego na wdrożenie nowych wersji oprogramowania
- wdrożenie rozwiązań CI/CD w firmie
- znajomość zagrożeń i problemów, które towarzyszą tworzeniu oprogramowania oraz metod ich rozwiązywania
- wiedza na temat szerokiej gamy sposobów testowania oprogramowania
- umiejętność konfiguracji, wykorzystywania i zarządzania serwerem Jenkins
- rozeznanie w alternatywnych rozwiązaniach dla środowisk automatyzacyjnych
- wiedza na temat różnych procesów i mechanizmów związanych CI/CD
- umiejętność automatyzacji powtarzalnych zadań
Uwaga: w ofercie, dla zainteresowanych, posiadamy też bardziej kompleksowy Bootcamp DevOps – dłuższy kurs, prezentujący całościowe podejście do nowoczesnych technik tworzenia, wdrażania i pielęgnacji oprogramowania w środowiskach kontenerowych i chmurowych – z procesami CI/CD w jednej z głównych ról.
Czas trwania
2 dni, 9:00 - 17:00
Program
- Wprowadzenie do Continuous Integration/Delivery (CI/CD)
- Cykl rozwijania oprogramowania
- Porównanie alternatywnych podejść: chmura kontra rozwiązania własne (on-premises)
- Ciągłe budowanie / integracja (continuous building / integration)
- Ciągła inspekcja (continuous inspection)
- Ciągłe wdrażanie (continuous deployment)
- Możliwe miejsca i sposoby wykorzystania sztucznej inteligencji w procesie CI/CD – dyskusja
- Git – rozproszony system kontroli wersji
- Konfiguracja
- Podstawowe komendy
- Praca na gałęziach
- Zdalne repozytoria i praca z nimi
- Zaawansowane komendy (reset, merge, revert)
- Dostawcy repozytoriów zdalnych Git
- GitHub oraz Gitlab — podstawowe funkcjonalności i konfiguracja
- Pipeline na przykładzie GitHub Actions lub GitLab CI — wprowadzenie, przykłady konfiguracji
- Wykorzystanie narzędzi AI do pracy z Git i repozytoriami kodu
- Sugerowanie i wyjaśnianie poleceń Git
- Analiza różnic (diff) i wykorzystanie do generowania opisów (commitów, pull-requestów)
- Pomoc w generowaniu skryptów akcji / pipeline’ów
- Testowanie oprogramowania i jego rola w procesach CI/CD
- Ręczne i automatyczne testowanie wersji aplikacji
- Testy jednostkowe, integracyjne, funkcjonalne, wydajnościowe
- Testy w Selenium/Puppeteer — wprowadzenie
- Przykładowe testy jednostkowe w Pythonie
- LAB: Przygotowanie scenariusza testowego
- Generowanie testów za pomocą AI
- Serwer automatyzacyjny Jenkins
- Wprowadzenie — cel, architektura, zasada działania
- Budowa typowego projektu
- Jenkinsfile — konfiguracja przy użyciu kodu
- Generowanie Jenkinsfile z wykorzystaniem AI
- Instalowanie i używanie pluginów
- Dodawanie i używanie kluczy oraz haseł
- Praca z agentami
- Integracja narzędzi do testowania z serwerem Jenkins
- LAB: uruchamianie testów oraz deploy aplikacji w zależności od wyniku testów
Training also available in English - for more information see here .
Przeznaczenie i wymagania
Szkolenie skierowane jest zarówno do programistów, architektów, team-leaderów, testerów oprogramowania jak i osób odpowiedzialnych za tworzenie środowisk aplikacyjnych (administratorzy oraz DevOps).
W szkoleniu łatwiej będzie wziąć udział osobom, które mają ogólną orientację w temacie projektów programistycznych (pojęcia: kod źródłowy, testowanie, produkcja itp.) i nie boją się wiersza poleceń.
Certyfikaty
Uczestnicy szkolenia otrzymują imienne certyfikaty sygnowane przez ALX.