Prowadzący
Prowadzący szkolenie Azure Devops
Maciej Zagozda jest prowadzącym szkolenie, jak również architektem i programistą.
Prowadzący zna praktyki DevOps i jest praktykiem metodyki Agile, aby wskazywać, jak Azure DevOps może wspierać te praktyki.
Prowadzący jest użytkownikiem i administratorem Azure DevOps ma głęboką wiedzę na temat Azure DevOps, w tym narzędzi takich jak Azure Boards, Azure Repos, Azure Pipelines.
Zawodowo jest programistą języków obiektowych i skryptowych takich jak Python, PowerShell, YAML itd, a także zwolennikiem automatyzacji procesów wytwarzania i wydawania oprogramowania.

O szkoleniu
Na czym będzie polegać?
Szkolenie ma charakter praktyczny. Podczas szkolenia bazując na przykładowej aplikacji zbudujemy w pełni funkcjonalny pipeline Continious Integration / Continious Deployment zgodnie z najlepszymi praktykami i przestrzegając najlepszych praktyk zarządzania kodem. Zadbamy zarówno o sprawne poruszanie się po zarządzaniu projektem informatycznym, wersjonowaniu kodu, implementacji continous integration i deployment.

Dla kogo
Czy szkolenie jest dla mnie?
Szkolenie jest przeznaczone dla osób chcących poznać i rozwijać się w tematach związanych z szeroko pojętą tematyką DevOps. Doświadczenie w programowaniu lub administracji systemami IT będzie pomocne, ale nie jest wymagane.
Plan Szkolenia
Przykładowy plan szkolenia

Maciej Zagozda
Wprowadzenie do DevOps i Azure DevOps.
-Czym jest koncepcja DevOps
-Wprowadzenie do Azure DevOps
-Podstawowe funkcje portalu
-Omówienie różnic i podobieństw obu portali
-Podstawy rozwiązań chmurowych
Warsztat: ✅ Założenie projektu w Azure DevOps i eksploracja głównych widoków
Warsztat: ✅ Tworzenie pierwszego backlog item i nadanie mu statusu

Maciej Zagozda
Wersjonowanie kodu z Azure Repos.
-Tworzenie repozytorium
-Tworzenie nowego repo (init, clone)
-Praca lokalna (add, commit)
-Praca zdalna (push, pull, fetch)
-Merge i Rebase
-Rozwiązywanie konfliktów
-Podstawy strategii branchowania
-Czym są branche
-Możliwe schematy przepływu kodu
-Branche a środowiska
Warsztat: ✅ Klonowanie repozytorium, wykonanie commitów i pushedu
Warsztat: ✅ Symulacja konfliktu i jego rozwiązanie (merge vs rebase)

Maciej Zagozda
Koncepcja trackowania releasów
-Koncepcja pracy na dedykowanym środowisku
Warsztat: ✅ Stworzenie i konfiguracja prostego release pipeline
Warsztat: ✅ Wdrążenie artefaktu na środowisko testowe

Maciej Zagozda
Infrastruktura w chmurze
-Infrastruktura jako kod (Terraform)
-Połączenie Azure DevOps z Azure Portalem
-Tworzenie usług chmurowych z poziomu kodu
Warsztat: ✅ Napisać i zastosować prosty moduł Terraform (VM lub Storage)
Warsztat: ✅ Pipeline IaC: automatyczne wdrożenie zasobu w Azure

Maciej Zagozda
Koncepcje CI/CD
-Continious Integration
-Unit testy, czyli piramida testów w pigułce
-Statyczna analiza kodu
-Omówienie różnic i podobieństw obu portali
-Licencje i pakiety
Warsztat: ✅ Stworzenie build pipeline z testami jednostkowymi i SonarQube
Warsztat: ✅ Automatyczne generowanie i publikacja artefaktów

Maciej Zagozda
Jak samodzielnie wyszukiwać odpowiednie taski
-Tworzenie artefaktów
-Podstawy dokeryzacji
-Pipelines czy releases
-Wykorzystanie artefaktów
-Jeden pipeline czy kilka?
-Azure App Service
-Azure Functions
Warsztat: ✅ Wyszukanie i instalacja gotowego taska z Marketplace
Warsztat: ✅ Stworzenie własnego skryptu PowerShell jako niestandardowego taska

Maciej Zagozda
Optymalizacja Procesów w Azure DevOps: Wyszukiwanie, Parametryzacja i Alternatywy
-Jak samodzielnie wyszukiwać odpowiednie taski
-Jak parametryzować pipeliny
-Alternatywy dla azure devops
Warsztat: ✅ Parametryzacja YAML pipeline (zmienne, szablony)
Warsztat: ✅ Porównanie z GitHub Actions – migracja prostego pipeline’u



