Python DevOps: Continuous Integration, Delivery, Deployment
Czas trwania szkolenia:2 dni (16h)
Kod kursu:PYTHON/DEVOPS
Poziom zaawansowania:
O szkoleniu Python DevOps: Continuous Integration, Delivery, Deployment
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Dla kogo?
- Programistów, testerów i DevOpsów
- Osób odpowiedzialnych jakość wytwarzanego oprogramowania
- Kierowników zespołów i architektów systemowych
Wymagania
- Umiejętność biegłego posługiwania się komputerem
- Umiejętność korzystania z konsoli systemu operacyjnego Unix, Linux itp
- Znajomość podstawowych koncepcji związanych z infrastrukturą
- Wiedza o procesach obejmujących wytwarzanie oprogramowania
- Uczestnictwo w co najmniej jednym projekcie związanym z wytwarzaniem oprogramowania
Zalety
- Zapoznanie się ze wszystkimi elementami składowymi procesów związanych z wydaniami ciągłymi oprogramowania
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Cele szkolenia
- Szkolenie Python DevOps w zakresie Continuous Integration (CI), Continuous Delivery (CD), i Continuous Deployment (CD) oferuje wiele korzyści dla profesjonalistów pracujących w obszarze rozwoju oprogramowania i operacji systemowych.
- Automatyzacja procesów: CI/CD pozwala na automatyzację wielu procesów związanych z wdrażaniem oprogramowania, co prowadzi do zwiększenia efektywności i eliminacji rutynowych czynności.
- Większa prędkość: Dzięki CI/CD, procesy budowania, testowania i wdrażania są zautomatyzowane, co skraca czas między napisaniem kodu a dostarczeniem gotowego produktu do produkcji.
- Zwiększona jakość: CI umożliwia częste testowanie kodu, co pozwala szybko wykrywać i rozwiązywać błędy. CD natomiast sprawia, że tylko przetestowany i sprawdzony kod jest wdrażany, co przekłada się na wyższą jakość oprogramowania.
- Łatwiejsze zarządzanie wersjami: Narzędzia CI/CD pomagają w zarządzaniu wersjami kodu, a także w monitorowaniu i śledzeniu zmian w kodzie źródłowym, co ułatwia pracę zespołom deweloperskim.
- Szybka reakcja na zmiany: CI/CD umożliwia elastyczne reagowanie na zmiany w kodzie, dzięki czemu zespoły są w stanie szybko dostosować się do nowych wymagań biznesowych.
- Zwiększenie środowiska: Dzięki CD, wdrażanie oprogramowania w różnych środowiskach (np. testowym, produkcyjnym) staje się bardziej konsystentne i mniej podatne na błędy ludzkie.
- Zintegrowane testowanie: CI umożliwia wykonywanie testów jednostkowych, integracyjnych i innych automatycznie po każdej zmianie w kodzie, co przyczynia się do poprawy jakości oprogramowania.
- Skrócenie cyklu wdrożenia: CD redukuje czas między zakończeniem procesu deweloperskiego a dostarczeniem nowej funkcji użytkownikom, co zwiększa konkurencyjność firmy.
- Łatwiejsza diagnoza problemów: CI/CD dostarcza narzędzi do monitorowania i śledzenia wydajności aplikacji, co ułatwia diagnostykę i usuwanie problemów.
- Zwiększenie Efektywności Zespołu: Dzięki automatyzacji wielu rutynowych zadań, zespół może skupić się na bardziej wartościowej pracy, co zwiększa efektywność.
- Szkolenie w zakresie Python DevOps z naciskiem na CI/CD pomaga profesjonalistom zrozumieć i efektywnie wykorzystać narzędzia i praktyki, które przyczyniają się do szybszej i bardziej niezawodnej dostawy oprogramowania.
Program
DevOps
- Czym jest Dev?
- Czym jest Ops?
- Czym jest DevOps?
- Czym jest DevSecOps?
- Pojęcie długu technicznego
Ekosystem narzędzi deweloperskich
- System kontroli wersji
- System ciągłego budowania
- Ciągłe testowanie
- Dashboardy i inspekcja jakości
- Repozytorium artefaktów
- Platforma uruchomieniowa
Rodzaje testów na przykładach
- Jednostkowe
- Dymne
- Analiza statyczna
- Mutacyjne
- Regresyjne
- Funkcjonalne
- Interfejsu
- Obciążeniowe
- Integracyjne
- Bezpieczeństwa
Continuous Integration
- Wpływ CI na architekturę aplikacji
- Git Flow vs. Github Flow vs. Master based development
- Uruchamianie testów
- Definiowanie Pipeline CI/CD
- Zrównoleglanie testów
- Optymalizacja procesu testowania
Continuous Delivery
- Migracja schematu bazy danych
- Infrastructure as a Code
- Wdrożenia testowe
- Automatyzacja testów na środowisku testowym
- Tworzenie obrazów i pakietów
- Kontrola zależności
Automatyzacja testów
- Ekosystem narzędzi deweloperskich
- Continuous Integration
- Continuous Delivery
- Continuous Deployment
- Definiowanie Pipeline CI/CD
- Automatyzacja testów na środowisku testowym
- Zarządzanie zależnościami aplikacji