Kategorie: Linux (wszystkie), Wirtualizacja, kontenery, DevOps, cloud
Od inżynierów wymaga się tworzenia, testowania i wdrażania aplikacji w sposób niezawodny i powtarzalny. Podczas tego szkolenia uczestnik zagłębi się w podstawową wiedzę, związaną z nowoczesnymi rozwiązaniami ciągłego budowania i wdrażania oprogramowania (CI/CD). Jednym z dostępnych narzędzi ułatwiających ten proces jest serwer automatyzacyjny Jenkins. Jest 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.
Uczestnik podczas szkolenia nauczy się różnych metod konfiguracji i aktywnego wykorzystywania serwera Jenkins. 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ń
Czas trwania
2 dni
Program
- Wprowadzenie i podstawowe pojęcia
- powszechne problemy związane z tworzeniem oprogramowania
- krótki przegląd dostępnych rozwiązań
- porównanie alternatywnych podejść: chmura kontra rozwiązania własne (on-premises)
- fundamenty nowoczesnego cyklu wytwarzania oprogramowania
- Podstawy rozwiązań CI/CD
- ciągłe budowanie / integracja (continuous building / integration)
- ciągła inspekcja (continuous inspection)
- ciągłe wdrażanie (continuous deployment)
- Serwer automatyzacyjny Jenkins
- instalacja i konfiguracja narzędzia
- architektura i kluczowe elementy
- zadania (jobs) i widoki (views)
- budowanie typowego projektu
- zwiększanie możliwości poprzez rozszerzenia (plug-ins)
- zarządzanie poprzez kod (Jenkinsfile / Pipeline as Code)
- archiwizacja i kopie bezpieczeństwa (backup)
- automatyzacja zadań administracyjnych poprzez własne skrypty
- integracja z Git
- integracja z zewnętrznymi usługami (GitHub, BitBucket, itp)
- bezpieczeństwo – autentykacja i autoryzacja
- otrzymywanie informacji zwrotnych i powiadomień
- Testy automatyczne
- cel i specyfika testowania automatycznego
- testowanie jednostkowe i integracyjne
- testowanie funkcjonalne/akceptacyjne
- testowanie wydajnościowe
- ręczne (manualne) testowanie wersji aplikacji
- integracja narzędzi do testowania z serwerem Jenkins
- Procedury i narzędzia dodatkowe
- tryby i cykle pracy w systemach kontroli wersji (Git)
- zarządzanie zmianami (migracjami) w bazach danych
- wykorzystanie kontenerów (Docker) w procesach CI/CD
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).
Program kursu zakłada podstawową znajomość pracy i zarządzania środowiskiem Linux, wykorzystując polecenia powłoki (Bash). Uczestnik powinien również w stopniu podstawowym znać specyfikę i sposób działania systemów kontroli wersji (Git). Niewątpliwym ułatwieniem dla uczestnika będzie doświadczenie w tworzeniu oprogramowania (w dowolnym środowisku: Java / JavaScript / Python / PHP / Ruby / C++ / .NET, etc).
Certyfikaty
Uczestnicy szkolenia otrzymują imienne certyfikaty sygnowane przez ALX.
Zobacz też:
- Administrator Linuksa (kurs zawodowy - bootcamp)
- Zaawansowany administrator systemu Linux (kurs zawodowy - bootcamp)
- Linux i sieci dla młodzieży (kurs zawodowy - bootcamp)
- LPI 101: Wstęp do administracji systemem Linux
- LPI 102: Administracja systemem Linux i siecią
- Linux Essentials (dla codziennych użytkowników)
- LPI 201: Architektura i niskopoziomowa konfiguracja systemu Linux i sieci
- LPI 202: Konfiguracja usług serwerowych i ich bezpieczeństwo
- Przygotowanie do egzaminu LPIC-2 po kursie K-ADMIN-2
- LPI 300: LDAP, Samba, integracja z MS Windows, środowiska wielosystemowe
- LPI 303: Kryptografia, kontrola dostępu, bezpieczeństwo usług, bezpieczeństwo sieciowe
- LPI 304: Wirtualizacja i HA w systemach Linux
- Programowanie w języku BASH
- Zaawansowane programowanie powłoki, BASH, AWK
- Protokół komunikacyjny IPv6
- Poczta elektroniczna - Exim, rozwiązania antyspamowe.
- Poczta elektroniczna - Postfix
- Backup w systemie Linux
- VPN w teorii i w praktyce
- Wireguard - protokół VPN
- Monitoring serwerów i sieci; SNMP, Nagios, Munin
- Serwer Apache w systemie Linux
- Serwer WWW w systemie Linux - LAMP Stack
- BIND - serwer DNS w systemie Linux
- Usługi katalogowe LDAP w systemie Linux. Integracja autoryzacji systemów i usług.
- Serwer SAMBA w systemie Linux
- SAMBA, zaawansowana konfiguracja (PDC, LDAP, replikacja)
- Wstęp do wirtualizacji Linux - KVM
- Wirtualizacja w systemie Linux
- Ansible - wstęp do automatyzacji zarządzaniem infrastrukturą
- Ansible - automatyzacja, scentralizowane zarządzanie infrastrukturą i wdrożeniami
- Sieci bezprzewodowe i ich bezpieczeństwo
- Podpis cyfrowy i szyfrowanie z wykorzystaniem programów OpenSSL i GnuPG (GPG)
- HA (high availability) w systemach Linux
- Bezpieczeństwo systemu operacyjnego Linux – składniki systemu zabezpieczeń
- Linux – debugging aplikacji i jądra systemu
- Linux - exploitacja aplikacji i systemu. Ataki niskopoziomowe.
- Linux - testowanie bezpieczeństwa aplikacji, wyszukiwanie luk. Ataki wysokopoziomowe.
- Metody ataku i obrony - systemy IDS/IPS
- Administracja MySQL
- Docker - podstawy
- Docker - konfiguracja, zarządzanie, zastosowania
- Docker i Kubernetes
- Zaawansowany Kubernetes
- Wprowadzenie do Amazon Web Services