Spis treści 7 sekcji
Azure DevOps to zestaw narzędzi Microsoft, które działają samodzielnie, ale mogą też współpracować przy tworzeniu oprogramowania: od pomysłu po wdrożenie.1
Automatyzacja CI/CD, czyli ciągłej integracji i dostarczania zmian, pomaga ograniczać błędy oraz skracać cykl wdrożeniowy.2 W artykule omawiamy konfigurację, dostępne usługi i rozwiązywanie problemów w codziennej pracy zespołu DevOps3.
Czym jest Azure DevOps i jak działa w projekcie?
Azure DevOps pomaga organizować pracę nad oprogramowaniem i automatyzować jego dostarczanie. Pipeline CI/CD to sekwencja zadań: buduje aplikację, sprawdza wynik i przygotowuje wdrożenie. Azure Pipelines pozwala skonfigurować automatyczne budowanie oraz wdrażanie aplikacji1.
W projektach prywatnych bezpłatny agent hostowany przez Microsoft zapewnia 1800 minut działania pipeline’ów miesięcznie4.
Azure DevOps udostępnia również wizualny edytor procesów budowania i publikowania5. Zespół wskazuje źródło kodu, układa zadania budowania i określa sposób publikacji. Po uruchomieniu procesu może przeanalizować jego wynik.
Szkolenie STACJA.IT dotyczące Azure DevOps obejmuje zbudowanie pipeline’u i uruchomienie budowania aplikacji na platformie Azure6. W projekcie taki pipeline prowadzi od zmiany kodu do powtarzalnego budowania i wdrożenia.
Pojedyncze zadanie na bezpłatnym agencie hostowanym przez Microsoft może działać maksymalnie 60 minut4.
Jak skonfigurować pipeline CI/CD w Azure DevOps?
Pipeline CI/CD w Azure DevOps konfiguruje się przez wskazanie źródła kodu, zadań budowania i celu wdrożenia. Definicję pojedynczego pipeline’u można zapisać w jednym pliku YAML, zwykle azure-pipelines.yml, umieszczonym obok kodu aplikacji7.
- Repozytorium kodu dostarcza pipeline’owi pliki aplikacji. Wybierz repozytorium oraz gałąź, od której ma zaczynać się proces.
- Wyzwalacz określa moment uruchomienia pipeline’u. Możesz powiązać go ze zmianą w wybranej gałęzi albo uruchamiać proces ręcznie podczas konfiguracji.
- Zadania budowania instalują zależności, kompilują aplikację i wykonują testy właściwe dla projektu. Ułóż je w kolejności, której wymaga aplikacja.
- Etap wdrożenia publikuje wynik budowania w wybranym środowisku. Zanim go uruchomisz, wskaż potrzebne połączenie i uprawnienia.
Historia uruchomień pokazuje wyniki budowania i wdrażania w skonfigurowanym pipeline’ie8.
Planując pracę na bezpłatnym agencie hostowanym przez Microsoft, uwzględnij limit 60 minut na pojedyncze zadanie4.
Jak znaleźć przyczynę błędu pipeline’u i go naprawić?
Gdy pipeline kończy się błędem, zacznij od nieudanego uruchomienia i komunikatu przypisanego do zadania. Wyniki oraz logi pozwalają szukać przyczyny na poziomie etapu, zadania i kroku9.
- Nieudane uruchomienie pokazuje, na którym etapie proces się zatrzymał. Otwórz historię i znajdź pierwsze zadanie zakończone błędem.
- Dziennik zadania zawiera komunikat potrzebny do rozpoznania problemu. Przeczytaj go przed zmianą konfiguracji, żeby nie poprawiać niewłaściwego etapu10.
- Źródło błędu może tkwić w kodzie, zależnościach, konfiguracji zadania lub uprawnieniach do środowiska. Porównaj komunikat z ustawieniami nieudanego etapu i popraw wskazany element10.
- Ponowne uruchomienie pozwala sprawdzić poprawkę. Uruchom pipeline dla zmienionego kodu lub konfiguracji, a potem porównaj wynik z poprzednią próbą8.
Naprawę można uznać za zakończoną, gdy poprawiony etap przechodzi, a cały proces osiąga zamierzony wynik10.
Czym są usługi i wersje Azure DevOps?
Azure DevOps obejmuje 5 narzędzi do zarządzania pracą, kodem, budowaniem, testami i artefaktami. Jest dostępny jako chmurowa usługa Services oraz wersja Server instalowana na własnej infrastrukturze1. Narzędzia obsługują różne etapy projektu, dzięki czemu zespół może powiązać zadanie ze zmianą kodu i wynikiem budowania.
W Azure DevOps Services plan Basic jest bezpłatny dla pierwszych pięciu użytkowników11.
Marketplace Azure DevOps oferuje narzędzia bezpłatne oraz komercyjne rozszerzenia5. Rozszerzenie może uzupełnić używany proces, ale nie zastępuje decyzji o wyborze Services albo Server.
Do czego służą Boards, Repos, Pipelines, Test Plans i Artifacts?
Boards, Repos, Pipelines, Test Plans i Artifacts obsługują kolejno zadania, kod, automatyzację dostarczania, testy oraz pakiety. W każdej organizacji Azure Artifacts udostępnia bezpłatnie 2 GiB miejsca na pakiety12.
- Azure Boards porządkuje zadania i ich statusy, aby zespół mógł śledzić zakres pracy13.
- Azure Repos przechowuje repozytoria kodu wraz z historią zmian.
- Azure Pipelines uruchamia procesy budowania i wdrażania aplikacji.
- Azure Test Plans pomaga organizować testy oraz analizować wyniki.
- Azure Artifacts pozwala udostępniać pakiety wykorzystywane w projekcie.
Azure DevOps dostarcza szczegółowe raporty z testowania i obsługuje wyniki w formacie JUnit5. Obsługiwane typy testów obejmują też NUnit, xUnit i VSTests5.
Jeśli plików z wynikami jest ponad 100, zadanie Publish Test Results scala je w jedno uruchomienie testów, nawet przy wyłączonym scalaniu14.
Koszty GitLab i Azure DevOps: co porównać?
Koszty GitLab i Azure DevOps warto porównywać pod kątem liczby użytkowników, automatyzacji zadań i utrzymania infrastruktury. Porównanie Deviniti wskazuje 2 plany finansowania Azure DevOps5.
Poniższa tabela zbiera podane stawki i limity, które mogą wpłynąć na koszt wyboru.
| Produkt lub usługa | Stawka albo limit | Warunek |
|---|---|---|
| Azure DevOps Services, plan Basic | Pierwszych pięciu użytkowników bezpłatnie; każdy dodatkowy użytkownik: 6 USD miesięcznie. | Koszt zależy od liczby użytkowników. |
| Azure DevOps, projekty Open Source | 10 darmowych agentów Azure DevOps. | Agenci wykonują zadania pipeline’u. Limit dla projektów Open Source nie służy do wyliczania kosztu projektu firmowego. |
| GitLab Premium Self-Managed | 29 USD za użytkownika miesięcznie przy rozliczeniu rocznym. | Stawka nie obejmuje kosztów własnej infrastruktury i jej administracji. |
Dane w tabeli: 1,11,15,16
Przy zestawianiu GitLab self-managed z usługą chmurową same stawki za użytkowników nie wystarczą. W rachunku trzeba też uwzględnić koszty infrastruktury i administracji po obu stronach.
Czym różnią się Azure DevOps Services i Azure DevOps Server?
Azure DevOps Services działa w chmurze, natomiast Azure DevOps Server organizacja instaluje i utrzymuje na własnej infrastrukturze. Szkolenie Sages dotyczące Azure DevOps omawia różnice między tymi wersjami17.
Tabela pokazuje, kto odpowiada za utrzymanie platformy i jak często każda wersja otrzymuje nowe funkcje.
| Wersja | Utrzymanie i nowe funkcje | Warunek usługi |
|---|---|---|
| Azure DevOps Services | Platformę utrzymuje dostawca; nowe funkcje trafiają do usługi co trzy tygodnie. | Umowa SLA przewiduje 99,9% dostępności usługi. |
| Azure DevOps Server | Organizacja odpowiada za środowisko instalacji i utrzymanie serwera; nowe funkcje trafiają do tej wersji kwartalnie. | Wybór tej wersji oznacza zarządzanie własną infrastrukturą. |
Dane w tabeli: 18,19
Azure DevOps w procesie tworzenia oprogramowania
Azure DevOps pozwala powiązać pracę nad kodem z kontrolą zmian i dostarczaniem aplikacji. Zadanie określa oczekiwaną zmianę, a przegląd kodu daje zespołowi okazję do omówienia jej przed wdrożeniem.
Przykładowa polityka gałęzi main może wymagać zatwierdzenia pull requestu przez co najmniej dwóch recenzentów20.
Azure DevOps pozwala utworzyć repozytorium Git lub TFS i prowadzić pull requesty z komentarzami do zdalnego przeglądu kodu1. Pull request to propozycja włączenia zmian do wybranej gałęzi. Azure Repos obsługuje dwa typy kontroli wersji: Git i TFVC; „TFS” nie jest nazwą drugiego typu21.
Automatyzacja wdrożeń wiąże zatwierdzoną zmianę z dostarczeniem aplikacji do środowiska. Zespół może oddzielić przegląd kodu od decyzji o publikacji, stosując na przykład wymóg zatwierdzenia pull requestu przez co najmniej dwóch recenzentów20.
Przykłady zastosowań usług Azure DevOps w firmach
Azure DevOps może wspierać przegląd zmian, obsługę poprawek i dostarczanie kolejnych wersji aplikacji. Dobór usług zależy od tego, czy zespół najbardziej potrzebuje kontroli kodu, koordynacji pracy czy automatyzacji wdrożeń3.
W prywatnym projekcie korzystającym z automatyzacji trzeba uwzględnić 1800 minut miesięcznie na bezpłatnym agencie hostowanym przez Microsoft4.
- Przegląd zmian w aplikacji daje zespołowi możliwość omówienia kodu przed włączeniem go do używanej gałęzi.
- Obsługa poprawki wiąże opis błędu z pracą programistów nad zmianą i jej weryfikacją22.
- Dostarczanie nowej wersji porządkuje drogę od zatwierdzonej zmiany do wdrożenia aplikacji.
DevOps w praktyce: korzyści, ograniczenia i przebieg pracy
DevOps łączy tworzenie oprogramowania z jego dostarczaniem, a Azure DevOps pomaga prowadzić te prace w powiązanych narzędziach. Zebranie narzędzi w jednym miejscu ułatwia zespołowi współpracę i zarządzanie zmianami2.
Zespół musi też ustalić, kto zatwierdza kod, uruchamia wdrożenie i reaguje na nieudane testy. Przykładowa polityka gałęzi main przewiduje co najmniej dwóch recenzentów20.
Jakie korzyści może dać Azure DevOps?
Azure DevOps pomaga połączyć zadania, zmiany kodu i wyniki automatyzacji w procesie obejmującym 5 narzędzi1. Powiązanie zmiany z zadaniem wyjaśnia jej cel. Wynik uruchomienia pipeline’u pokazuje z kolei, czy dostarczenie aplikacji się powiodło.
Taki proces działa lepiej, gdy zespół konsekwentnie opisuje zmiany i analizuje nieudane uruchomienia.
Jak zbudować proces pracy w Azure DevOps?
Azure DevOps pozwala ułożyć pracę od zadania i zmiany kodu, przez testy, aż po wdrożenie. Przykładowa polityka gałęzi main może wymagać zatwierdzenia zmiany przez co najmniej dwóch recenzentów20.
- Organizacja i projekt wyznaczają przestrzeń pracy zespołu. Przypisz do niej osoby odpowiedzialne za kod, testy i wdrożenia.
- Zmiana kodu powinna mieć opis celu i przejść przegląd przed włączeniem do gałęzi projektu. Komentarze w pull requeście umożliwiają zdalne omówienie zmian.
- Pipeline powinien uruchamiać budowanie i testowanie przyjętych zmian. Jeśli wynik jest nieudany, przed wdrożeniem popraw kod lub konfigurację23.
- Wdrożenie powinno korzystać z uprawnień i sekretów właściwego środowiska. Wyznacz osobę, która odpowiada za zatwierdzenie publikacji.
Program szkolenia Sages z Azure DevOps obejmuje organizacje i projekty, repozytoria, pipeline’y, sekrety, wdrożenia oraz testowanie17. Szkolenie „Wytwarzanie i dostarczanie oprogramowania w kulturze DevOps z użyciem Azure DevOps” trwa 2 dni (16 h); podany termin to 30–31 grudnia17. Cena wynosi 2150 PLN netto, czyli 2644,50 PLN brutto za uczestnika po doliczeniu 23% VAT17. Dofinansowanie może wynieść maksymalnie 100%, lecz nie jest dostępne dla instytucji publicznych17.
Proces jest gotowy do użycia, gdy wiadomo, kto odpowiada za przegląd kodu, testy i wdrożenie.
Jakie ograniczenia Azure DevOps uwzględnić?
Azure DevOps wymaga osobnych rozwiązań do funkcji, których nie zapewnia wbudowany zestaw 5 narzędzi1. Porównanie Deviniti wskazuje brak wbudowanego systemu zarządzania sekretami i analizatora bezpieczeństwa5.
Projektując proces, zespół powinien więc uwzględnić obsługę sekretów i analizę bezpieczeństwa. Sam pipeline nie zapewnia pełnej kontroli bezpieczeństwa.
Czym jest DevOps i jak łączy pracę zespołów?
DevOps zakłada wspólną odpowiedzialność osób tworzących oprogramowanie i utrzymujących środowiska za dostarczenie zmian. Programiści przekazują kod do przeglądu, a osoby odpowiedzialne za wdrożenia ustalają warunki publikacji. Wyniki testów i wdrożeń wracają do zespołu, który może wykorzystać je przy następnej zmianie24.
DevOps łączy zespoły, gdy odpowiedzialność za zmianę obejmuje również jej testowanie i działanie po wdrożeniu.
Przykładowa polityka gałęzi main może przy tym wymagać zatwierdzenia kodu przez co najmniej dwóch recenzentów20.
Jak dobrać narzędzie DevOps do zadania?
Narzędzie DevOps dobierz do zadania, oceniając kandydatów według tych samych wymagań dotyczących kodu, automatyzacji, bezpieczeństwa i utrzymania. Jeśli rozważasz Azure DevOps Services, uwzględnij bezpłatny plan Basic dla pierwszych pięciu użytkowników. Każdy kolejny kosztuje 6 USD miesięcznie15.
- Określenie zadania zespołu wyznacza zakres potrzebnego narzędzia. Zapisz, czy ma obsługiwać przegląd kodu, testy, wdrożenia czy cały proces dostarczania aplikacji.
- Ustalenie miejsca przechowywania kodu pozwala wziąć pod uwagę istniejące repozytorium. Porównaj, jak każde narzędzie uruchamia proces po zmianie kodu.
- Opis wymagań wdrożeniowych wskazuje środowisko docelowe, sposób zatwierdzania publikacji i uprawnienia potrzebne procesowi.
- Porównanie bezpieczeństwa i utrzymania obejmuje sekrety, kontrolę dostępu oraz odpowiedzialność za infrastrukturę. GitHub Actions uwzględnij, jeśli zespół rozważa automatyzację powiązaną z pracą w GitHubie.
Wybór narzędzia DevOps powinien wynikać z wymagań procesu i skali zespołu, nie z samej listy dostępnych funkcji.
Jak włączyć zespół bezpieczeństwa w istniejący proces DevOps?
Azure DevOps pozwala włączyć zespół bezpieczeństwa w proces wdrażania przez przypisanie odpowiedzialności za dostęp, sekrety i zatwierdzanie publikacji. Przy planowaniu dostępu do Azure DevOps Services uwzględnij bezpłatny plan Basic dla pierwszych pięciu użytkowników11.
- Zespół bezpieczeństwa powinien wskazać środowiska, które wymagają zatwierdzenia przed publikacją. Ustal, kto decyduje o wdrożeniu do każdego z nich.
- Zatwierdzanie publikacji w Azure DevOps można przypisać wskazanym użytkownikom lub grupom5. Powierz tę rolę osobom odpowiedzialnym za ocenę bezpieczeństwa wdrożenia.
- Dostęp do środowisk wymaga przeglądu uprawnień osób i grup uczestniczących w procesie. Odróżnij Azure Active Directory, usługę zarządzania tożsamościami znaną dziś jako Microsoft Entra ID, od Active Directory działającego w infrastrukturze organizacji.
- Sekrety wdrożeniowe, takie jak hasła i klucze dostępu, powinny trafiać wyłącznie do procesów i osób, które ich potrzebują. Ustal z zespołem bezpieczeństwa zasady przechowywania i wymiany sekretów bez umieszczania ich wartości w kodzie.
Zespół bezpieczeństwa ma określoną rolę w procesie DevOps, gdy podejmuje decyzje o publikacji i ustala zasady dostępu do środowisk oraz sekretów.
Źródła
- ↑Co to jest Azure DevOps? | Jerzy Wickowski https://jerzywickowski.pl/ci/co-to-jest-azure-devops/
- ↑Azure DevOps – the key to efficient, secure and scalable software development » Blog Lizard https://lizard.pl/blog/azure-devops-klucz-do-efektywnego-bezpiecznego-i-skalowalnego-wytwarzania-oprogramowania/
- ↑Microsoft Learn, „Co to jest Azure DevOps?” oraz „Co to jest metodyka DevOps?” ([learn.microsoft.com](learn.microsoft.com https://learn.microsoft.com/pl-pl/azure/devops/user-guide/what-is-azure-devops?view=azure-devops
- ↑Microsoft Learn — Microsoft-hosted agents for Azure Pipelines https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted
- ↑Porównanie narzędzi DevOps: GitLab i Azure DevOps https://deviniti.com/pl/blog/devops-pl/porownanie-narzedzi-devops-gitlab-azure/
- ↑Jak zacząć przygodę z Azure DevOps? – STACJA.IT https://stacja.it/produkt/jak-zaczac-przygode-z-azure-devops/
- ↑Microsoft Learn — YAML vs Classic Pipelines https://learn.microsoft.com/en-us/azure/devops/pipelines/get-started/pipelines-get-started?view=azure-devops
- ↑Microsoft Learn, „Create your first pipeline” i „Create and target Azure DevOps environments for pipelines” ([learn.microsoft.com](learn.microsoft.com https://learn.microsoft.com/en-us/azure/devops/pipelines/create-first-pipeline?view=azure-devops
- ↑Microsoft Learn — Pipeline runs https://learn.microsoft.com/en-us/azure/devops/pipelines/process/runs?view=azure-devops
- ↑Microsoft Learn, „Troubleshoot pipeline runs” ([learn.microsoft.com](learn.microsoft.com https://learn.microsoft.com/en-us/azure/devops/pipelines/troubleshooting/troubleshooting?view=azure-devops
- ↑Microsoft Learn — Billing FAQs https://learn.microsoft.com/en-us/azure/devops/organizations/billing/billing-faq?view=azure-devops
- ↑Microsoft Learn — Package sizes and count limits https://learn.microsoft.com/en-us/azure/devops/artifacts/reference/limits?view=azure-devops
- ↑Microsoft Learn, „Planowanie i śledzenie pracy w Azure Boards” ([learn.microsoft.com](learn.microsoft.com https://learn.microsoft.com/pl-pl/azure/devops/boards/get-started/plan-track-work?preserve-view=true&tabs=basic-process&view=azure-devops
- ↑Microsoft Learn — Publish Test Results v2 task https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-test-results-v2?view=azure-pipelines
- ↑Microsoft Azure — Azure DevOps Services Pricing https://azure.microsoft.com/en-us/pricing/details/devops/azure-devops-services/
- ↑GitLab — Pricing https://about.gitlab.com/pricing/?deployment=self-managed
- ↑Szkolenie: Wytwarzanie i dostarczanie oprogramowania w kulturze DevOps z użyciem Azure DevOps – Sages: szkolenia IT, programistyczne, szkolenia dla firm https://www.sages.pl/szkolenia/wytwarzanie-i-dostarczanie-oprogramowania-w-kulturze-devops-azure?srsltid=AU7gw4VmQY5tJoe84U0Sbo1UOUo8dIhUojGgWzs0CjdZhNrLIEh9Qa_H
- ↑Microsoft Learn — Tools and clients for Azure DevOps https://learn.microsoft.com/en-us/azure/devops/user-guide/tools?view=azure-devops
- ↑Microsoft Learn — Data protection overview https://learn.microsoft.com/en-us/azure/devops/organizations/security/data-protection?view=azure-devops
- ↑Microsoft Learn — Secure repositories and pull requests https://learn.microsoft.com/en-us/azure/devops/repos/git/secure-repositories-pull-requests?view=azure-devops
- ↑Microsoft Learn — Collaborate on code https://learn.microsoft.com/en-us/azure/devops/repos/get-started/what-is-repos?view=azure-devops
- ↑Microsoft Learn, „Define, capture, triage, and manage bugs in Azure Boards” ([learn.microsoft.com](learn.microsoft.com https://learn.microsoft.com/en-us/azure/devops/boards/backlogs/manage-bugs?tabs=new-web-form%2Cnew-web-form&view=azure-devops
- ↑Microsoft Learn, „Co to jest Azure DevOps?” i „Warunki rurociągu” ([learn.microsoft.com](learn.microsoft.com https://learn.microsoft.com/pl-pl/azure/devops/pipelines/process/conditions?view=azure-devops
- ↑Microsoft Learn, „Co to jest metodyka DevOps?” oraz „Zasady projektowania chmury doskonałości operacyjnej” ([learn.microsoft.com](learn.microsoft.com https://learn.microsoft.com/pl-pl/devops/what-is-devops
Ceny i warunki sprawdzone u źródeł: październik 2026.