Azure DevOps czyli wszystko w jednym miejscu?

Dzisiaj napiszę kilka słów o narzędziu firmy Microsoft o nazwie Azure DevOps. Tajemnicza (i w sumie dość ostatni modna) nazwa DevOps określa nic innego jak młodszego brata starego poczciwego VSTS czyli Visual Studio Team Services.
O usłudze
Rozwiązanie jest stosunkowo młode (zapowiedź na blogu Azure – 10 września 2018 TUTAJ). Dodatkowo jest darmowe dla rozwiązań open source oraz dla małych zespołów do 5 osób. Oczywiście darmowa wersja ma swoje ograniczenia, zainteresowanych odsyłam do lisku cennik z końca artykułu. Główny model licencjonowania to usługa ale jest również możliwość uruchomienia DevOps na środowisku on premises. Aby to zrobić potrzebujemy licencji na Azure DevOps server, który instalujemy na systemie Windows (zalecany oczywiście Windows Server). W samym DevOps mamy podział na projekty, które pozwalają grupować pracę. W ramach samych projektów możemy przeglądać ich szczegóły.
Elementy Azure DevOps
Overview
Jest to sekcja ogólna projektu. Możemy tu znaleźć zarówno podsumowanie projektu czyli jego ogólne statystyki. Możemy też zbudować swoje własne statystyki coś na wzór dashboardów w Jira. Mamy tutaj też Wiki czyli możliwość robienia notatek do projektu. Jest to bardzo przydatna funkcja i super alternatywa do notatek w one note, evernote itp.

Boards

Tutaj użytkownicy systemów takich jak Jira, czyli np. ja 🙂 poczują się jak w domu. Jest to centrum planowania projektu. Mamy do dyspozycji tablice Scrum czy kanban którymi można sterować metodą przeciągnij i upuść. Oczywiście znajdziemy tam również standardowy backlog, możliwość przypisywania osób do spraw. Możemy przeglądać i planować sprinty, oraz monitorować przebieg oraz poziom zaawansowania prac.
Repos

Ta zakładka to swoisty BitBucket w pigułce. Jak mówi sama nazwa możemy tu zarządzać swoimi repozytoriami. Mamy dostęp do zakładek znanych z popularnych klientów systemów kontroli wersji, możemy w nich przeglądać branche, commity robić/przeglądać pull requesty. Moduł ten możemy zintegrować z systemami kontroli wersji Git oraz TFVC (Team Foundation Version Control). Druga opcja to w sumie taka kompatybilność wsteczna. Nie zalecam używania TFVC ponieważ moim zdaniem to rozwiązanie będzie coraz mniej popularne, szczególnie po zakupie githuba przez Microsoft. Oczywiście możemy zarządzać repozytoriami niezależnie od tego czy zostały przygotowane w technologii giganta z Redmont, czy nie.
Pipelines

Kolejny element kombajnu Azure DevOps stanowi Pipelines. Jest to usługa umożliwiająca CI/CD dla naszych aplikacji. Konfiguracja jest stosunkowo prosta, wyposażona w intuicyjny kreator. W pierwszym kroku musimy podać miejsce przechowywania naszego kodu np. nasz serwer Git, Bitbucket, GitHub, Subversion itd. wybór jest spory. W przypadku np. Githuba wystarczy się zautoryzować jednym kliknięciem przez oath i to wszystko – już możemy wybrać i korzystać z repo.

Dużym plusem jest to że możemy robić deploy w dowolnym języku czy na dowolną platformę zarówno on premise czy to na Linuxie, Windowsie, Macu, jak i chmurową (Azure, AWS, GCP). Dodatkowo pipelines oferuje również natywne wsparcie dla kontenerów.
Artifacts

Nie wiem jak u Was to wygląda ale u mnie w firmie korzystamy z własnego menedżera pakietów. W naszym przypadku jest to serwer NuGet na on premie. Trzymamy tam najbardziej powtarzalne, Core’owe (w kontekście naszej firmy) fragmenty kodu. Artifacts to odpowiedź na takie właśnie potrzeby, jednak oferujący dodatkową funcjonalność. Jest to menedżer pakietów, który nie tylko pozwala tworzyć paczki wewnątrz organizacji, ale dodatkowo pozwala na przechowywanie różnych rodzajów paczek m.in. Mavena, Nugeta czy Node Package Managera (NPM). Kolejną przydatną opcją może być możliwość „odkładania” paczek z publicznych repozytoriów. Może się to przydać gdy z publicznego repozytorium zniknie paczka, którą wykorzystujemy w projekcie, choć moim zdaniem zdarza się to stosunkowo rzadko. Oczywiście Artifacts gwarantuje bezproblemowy dostęp do pakietów podczas CI/CD.
Test Plans

Test plans to narzędzie do testowania ręcznego i eksploracyjnego. Za jego pomocą można testować aplikacje desktopowe oraz internetowe. testy dodajemy z poziomu tablic (Boards). Niestety tej funkcjonalności nie udało mi się jeszcze przetestować. A może wy macie jakieś doświadczenia z Test plans? A może z całym Azure DevOps? Jeżeli tak zachęcam do zostawienia info w komentarzu.
Linki:
Azure Blog
About
Pricing