~~NOCACHE~~ ~~REVEAL theme=simple&size=1024x800~~ ====== Azure DevOps ====== ===== Application Lifecycle Management (ALM) ===== ALM to proces zarządzania życiem produktu począwszy od pomysłu aż po jego kres istnienia - zdefiniowanie wymagań i projekt aplikacji - rozwój aplikacji (Dev) * implementacja i budowanie aplikacji * testy, weryfikacja poprawności działania i naprawa błędów - utrzymanie produktu (Ops) * wdrażanie kolejnych wersji produktu * konfiguracja i monitorowanie działania aplikacji * naprawa błędów **Azure DevOps** - wszystko w jednym miejscu ===== Dlaczego ALM ? ===== * zarządzanie pracą zespołów * podział prac, uprawnienia/role/kompetencje członków * organizacja projektu, przepływ informacji w zespole * kontrola kodu, ograniczenie błędów, testy aplikacji, przeglądy kodu * dbałość o jakość produktu * przyśpieszenie procesów produkcyjnych, ograniczenie ryzyk i kosztów ===== Metodyka DevOps ===== {{zajecia:znd_2020_1:devops-loop-800x380.png?600}} ===== ===== * DevOps = „development” (programowanie) + „operations” (operacje) * koordynowanie i współpracę zespołów w celu tworzenia lepszych, bardziej niezawodnych produktów * silny nacisk na automatyzację i monitoring wszystkich etapów wytwórczych * przyśpieszenie cyklu powstawania nowych wydań * możliwość lepszego reagowania na potrzeby klientów ===== Azure DevOps ===== {{zajecia:znd_2020_1:azure_devops.png?800}} ===== Azure DevOps ===== * **continuous integration** (nieustanna integracja) - automatyzacja procesu wytwórczego: \\ synchronizacja kodu, budowanie aplikacji, testy (kodu, aplikacji), środowisko uruchomieniowe, raporty, powiadomienia, deployment, hostowanie aplikacji, ... * **zwinne metodyki zarządzania** \\ m.in. Scrum, zarządzanie zgłoszeniami (Work item), przydział zadań, powiązanie z kodem, testami, raportami * repozytorium kodu, system kontroli wersji \\ Git, Team Foundation Version Control (TFVC) * rozbudowany system raportów, analiza postępów prac, zarządzanie wymaganiami, kosztami, ocena ryzyka, ... ===== Potok ciągłej integracji ===== {{zajecia:znd_2020_1:architecture-devops-dotnet-webapp.png?800}} ===== Azure DevOps wersje ===== * [[https://azure.microsoft.com/pl-pl/services/devops/server/|Azure DevOps Server 2019]] * wcześniej: Team Foundation Server 2015, TFS 2017, Visual Studio Team System * TFS Expres 2018 - darmowa wersja dla zespołów do 5 osób, jeden serwer * [[https://azure.microsoft.com/en-us/services/devops/|Azure DevOps Services]] * dawniej: Visual Studio Team Services, Team Foundation Service, Visual Studio Online ===== Azure DevOps Services ===== * usługi DevOps w chmurze Azure, skonfigurowane i gotowe do działania * autoryzacja za pomocą Microsoft Accounts * darmowe dla zespołów do 5 osób, 2GB artefaktów, 1 zadanie CI 1800 minut na miesiąc * nieograniczona liczba repozytoriów kodu (Git) * automatyczna, skalowalna farma buildów * w praktyce nieskończenie skalowalne testy obciążeniowe * częste aktualizacje (wersja serwerowa ok. 3 miesiące opóźnienia) ===== Dostęp ===== * portal webowy (Web Portal) * Visual Studio * MS Project, Excel - zarządzanie projektem i zadaniami, analiza ryzyka * Office - wymiana dokumentów * PowerPoint, storyboard (analiza wymagań), możliwość połączenia z zadaniami * wiele zewnętrznych aplikacji: \\ Eclipse/Team Explorer Everywhere, Azure DevOps Services Plugin for Android Studio, Azure DevOps Services Plugin for IntelliJ ===== Integracja z innymi narzędziami ===== {{zajecia:znd_2020_1:azure-devops-supports-integration-with-many-third-party-services.png.jpeg?800}} {{https://marketplace.visualstudio.com/azuredevops/|Extensions Marketplace}} ponad 1K rozszerzeń ===== Autoryzacja ===== * **Azure DevOps Services** \\ autoryzacja za pomocą poświadczeń Microsoft Account \\ https://dev.azure.com/ * dostęp do wybranej organizacji \\ https://dev.azure.com/nazwa_organizacji/ * dostęp do projektu \\ https://dev.azure.com/nazwa_organizacji/nazwa_projektu/ * poprzednia domena (nadal aktualna) \\ https://nazwa_organizacji.visualstudio.com/ ===== ===== ^ Web portal ^ Visual Studio ^ | Planowanie prac: \\ //backlog produktu i sprintów, Task boards, Capacity planning, Kanban board, Dashboards, Widgets, Charts // \\ Team rooms \\ Request feedback \\ Zarządzanie testami \\ Wiki \\ Administracja kontami, projektami, zespołami | Integracja obsługi zadań ze zmianami kodu, Git: //Changes, Branches, Pull Requests, Sync, Work Items, Builds// \\ Większa integracja zadań z dodatkowymi narzędziami, np. Office | ===== Połączenie z VS 2019 ===== **Team Explorer ** -> **Manage Connections** -> **Connect to a Project** |{{:zajecia:znd_2020_1:te-connect-page-connect-to-project-vs2019.png?350}}|{{:zajecia:znd_2020_1:connect-to-a-project-and-github.png?350}}| ===== Team Explorer ===== * Zadania (jednostki robocze/Work Items) * Repozytorium (Source Control) * Buildy * Oczekujące na zatwierdzenie zmiany (Pending changes) {{zajecia:znd_2014_1:tfs_team_explorer1.png?350}} ===== Web Portal ===== {{zajecia:znd_2020_1:list-projects.png?600}} Strona głowna z listą organizacji i projektów ===== Web Portal - konfiguracja ===== {{zajecia:znd_2020_1:list-projects-org-settings.png?600}} Strona głowna ustawień organizacji i projektów ===== Więcej informacji ===== * [[https://www.perforce.com/blog/alm/what-application-lifecycle-management|What Is Application Lifecycle Management?]] * {{https://software.af.mil/training/devops/|DevOps}} * {{https://docs.microsoft.com/en-us/azure/devops/?view=azure-devops|Azure DevOps documentation}} * {{https://jerzywickowski.pl/ci/co-to-jest-azure-devops/|Co to jest Azure DevOps?}}