Korzystanie z usługi Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Usługa Azure Pipelines obsługuje ciągłą integrację i ciągłe dostarczanie (CD) w celu ciągłego testowania, kompilowania i wdrażania kodu. Można to osiągnąć, definiując potok.

Najnowszym sposobem kompilowania potoków jest edytor potoków YAML. Możesz również użyć potoków klasycznych w edytorze klasycznym.

Automatyzowanie testów, kompilacji i dostarczania

Ciągła integracja automatyzuje testy i kompilacje dla projektu. Ciągła integracja ułatwia przechwytywanie usterek lub problemów na wczesnym etapie cyklu programowania, gdy są one łatwiejsze i szybsze w celu rozwiązania problemu. Elementy znane jako artefakty są tworzone z systemów ciągłej integracji. Są one używane przez potoki wydania ciągłego dostarczania w celu napędzania wdrożeń automatycznych.

Ciągłe dostarczanie automatycznie wdraża i testuje kod na wielu etapach, aby zwiększyć jakość. Systemy ciągłej integracji tworzą artefakty możliwe do wdrożenia, które obejmują infrastrukturę i aplikacje. Zautomatyzowane potoki wydania używają tych artefaktów do wydania nowych wersji i poprawek do wybranego miejsca docelowego.

Ciągła integracja (CI) Ciągłe dostarczanie (CD)
- Zwiększanie pokrycia kodu
— Szybsze kompilowanie dzięki dzieleniu przebiegów testów i kompilacji
— Automatycznie upewnij się, że nie wysyłasz uszkodzonego kodu
— Ciągłe uruchamianie testów
— Automatyczne wdrażanie kodu w środowisku produkcyjnym
— Upewnij się, że miejsca docelowe wdrożenia mają najnowszy kod
— Używanie przetestowanego kodu z procesu ciągłej integracji

Definiowanie potoków przy użyciu składni YAML

Potok należy zdefiniować w pliku YAML o nazwie azure-pipelines.yml z resztą aplikacji.

Obraz wprowadzający potoki YAML

  • Potok jest wersjonowany z kodem. Jest zgodny z tą samą strukturą rozgałęziania. Sprawdzanie poprawności zmian odbywa się za pośrednictwem przeglądów kodu w ramach żądań ściągnięcia i zasad tworzenia rozgałęzień.
  • Każda używana gałąź może modyfikować potok, modyfikując azure-pipelines.yml plik. Dowiedz się więcej o zagadnieniach dotyczących gałęzi dla potoków YAML.
  • Zmiana procesu kompilacji może spowodować przerwanie lub nieoczekiwany wynik. Ponieważ zmiana jest w kontroli wersji z resztą bazy kodu, można łatwiej zidentyfikować problem.

Wykonaj następujące podstawowe kroki:

  1. Skonfigurowanie usługi Azure Pipelines pod kątem użycia repozytorium Git.
  2. azure-pipelines.yml Edytuj plik, aby zdefiniować kompilację.
  3. Wypychanie kodu do repozytorium kontroli wersji. Ta akcja uruchamia wyzwalacz domyślny, aby skompilować i wdrożyć rozwiązanie, a następnie monitorować wyniki.

Twój kod jest teraz aktualizowany, kompilowany, testowany i pakowany. Można go wdrożyć w dowolnym miejscu docelowym.

Definiowanie potoków przy użyciu interfejsu klasycznego

Tworzenie i konfigurowanie potoków w portalu internetowym usługi Azure DevOps za pomocą klasycznego edytora interfejsu użytkownika. Należy zdefiniować potok kompilacji, aby skompilować i przetestować kod, a następnie opublikować artefakty. Ponadto należy zdefiniować potok wydania, aby użyć tych artefaktów i wdrożyć je do miejsc docelowych wdrożenia.

Obraz wprowadzający projektanta potoków

Wykonaj następujące podstawowe kroki:

  1. Skonfigurowanie usługi Azure Pipelines pod kątem użycia repozytorium Git.
  2. Użyj klasycznego edytora usługi Azure Pipelines, aby utworzyć i skonfigurować potoki kompilacji i wydania.
  3. Wypychanie kodu do repozytorium kontroli wersji. Ta akcja wyzwala potok i uruchamia zadania, takie jak kompilowanie lub testowanie kodu.

Kompilacja tworzy artefakt używany przez pozostałą część potoku do uruchamiania zadań, takich jak wdrażanie w środowisku przejściowym lub produkcyjnym.

Twój kod jest teraz aktualizowany, kompilowany, testowany i pakowany. Można go wdrożyć w dowolnym miejscu docelowym.

Dostępność funkcji

Niektóre funkcje potoku są dostępne tylko w przypadku używania kodu YAML lub definiowania potoków kompilacji lub wydania za pomocą interfejsu klasycznego. Poniższa tabela wskazuje, które funkcje są obsługiwane i dla których zadań i metod.

Funkcja YAML Kompilacja klasyczna Wersja klasyczna Uwagi
Agentów Określa wymagany zasób, na którym działa potok.
Zatwierdzenia Definiuje zestaw weryfikacji wymaganych przed ukończeniem etapu wdrażania.
Artefakty Obsługuje publikowanie lub używanie różnych typów pakietów.
Buforowanie Skraca czas kompilacji, zezwalając na ponowne użycie danych wyjściowych lub pobranych zależności z jednego uruchomienia. W wersji zapoznawczej dostępne tylko w usłudze Azure Pipelines.
Warunki Określa warunki, które mają zostać spełnione przed uruchomieniem zadania.
Zadania kontenera Określa zadania do uruchomienia w kontenerze.
Wymagania Zapewnia spełnienie wymagań potoku przed uruchomieniem etapu potoku. Wymaga własnych agentów.
Zależności Określa wymaganie, które należy spełnić w celu uruchomienia następnego zadania lub etapu.
Grupy wdrożeń Definiuje logiczny zestaw maszyn docelowych wdrożenia.
Zadania grupy wdrożeń Określa zadanie, które ma być zwalniane do grupy wdrożenia.
Zadania wdrażania Definiuje kroki wdrażania.
Środowisko Reprezentuje kolekcję zasobów przeznaczonych do wdrożenia. Dostępne tylko w usłudze Azure Pipelines.
Bramy Obsługuje automatyczne zbieranie i ocenę sygnałów kondycji zewnętrznej przed ukończeniem etapu wydania. Dostępne tylko w wersji klasycznej.
Zadania Definiuje sekwencję wykonywania zestawu kroków.
Połączenia z usługami Umożliwia połączenie z usługą zdalną, która jest wymagana do wykonywania zadań w zadaniu.
Kontenery usługi Umożliwia zarządzanie cyklem życia usługi konteneryzowanej.
Etapy Organizuje zadania w potoku.
Grupy zadań Hermetyzuje sekwencję zadań w jednym zadaniu wielokrotnego użytku. Jeśli używasz języka YAML, zobacz szablony.
Zadania Definiuje bloki konstrukcyjne tworzące potok.
Szablony Definiuje zawartość, logikę i parametry wielokrotnego użytku.
Wyzwalacze Definiuje zdarzenie, które powoduje uruchomienie potoku.
Zmienne Reprezentuje wartość, która ma zostać zastąpiona danymi przekazywanymi do potoku.
Grupy zmiennych Służy do przechowywania wartości, które chcesz kontrolować i udostępniać w wielu potokach.

Następne kroki