Potoki wydania i źródła artefaktów

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

Usługa Azure Pipelines umożliwia wdrażanie artefaktów z szerokiego zakresu źródeł artefaktów i integrowanie przepływu pracy z różnymi typami repozytoriów artefaktów. Wydania mogą być połączone z wieloma źródłami artefaktów, gdzie jeden jest wyznaczony jako źródło podstawowe.

Źródła artefaktów

Usługa Azure Pipelines obsługuje szeroką gamę repozytoriów, narzędzi kontroli źródła i systemów ciągłej integracji.

Podczas tworzenia wydania można określić wersję źródła artefaktu. Domyślnie wydania używają najnowszej wersji artefaktu źródłowego. Możesz również użyć najnowszej kompilacji z określonej gałęzi, określając tagi, określoną wersję lub zezwolić użytkownikowi na określenie wersji w momencie tworzenia wydania.

Zrzut ekranu przedstawiający sposób dodawania artefaktu do klasycznego potoku wydania.

Jeśli łączysz więcej niż jeden artefakt, możesz określić, który z nich jest podstawowym źródłem (ustawienie domyślne). Podstawowe źródło artefaktu służy do ustawiania wielu wstępnie zdefiniowanych zmiennych. Można go również używać w wersjach nazewnictwa.

Zrzut ekranu przedstawiający sposób ustawiania podstawowego artefaktu źródłowego.

Uwaga

Default version Elementy listy rozwijanej zależą od typu źródłowego połączonej definicji kompilacji.

  • Następujące opcje są obsługiwane przez wszystkie typy repozytoriów: Specify at the time of release creation, Specific versioni Latest.

  • Latest from a specific branch with tagsOpcje i Latest from the build pipeline default branch with tags są obsługiwane przez następujące typy repozytoriów: TfsGit, , GitHubBitbucketi GitHubEnterprise.

  • Latest from the build pipeline default branch with tags nie jest obsługiwana przez XAML definicje kompilacji.

W poniższych sekcjach opisano sposób pracy z różnymi typami źródeł artefaktów.

Źródła artefaktów — Azure Pipelines

Potok wydania można połączyć z dowolną kompilacją usługi Azure Pipelines. Można również połączyć wiele potoków kompilacji i określić ich wartości domyślne i skonfigurować wyzwalacze wdrażania w wielu źródłach kompilacji. Po zakończeniu dowolnego z kompilacji spowoduje to wyzwolenie utworzenia wydania.

Następujące funkcje są dostępne w przypadku korzystania z usługi Azure Pipelines jako źródła artefaktów:

Funkcja opis
Wersje wyzwalacza automatycznego Nowe wydania można tworzyć automatycznie, gdy jest dostępny nowy artefakt kompilacji (w tym kompilacje XAML). Aby uzyskać więcej informacji, zobacz Wyzwalacze wydania.
Zmienne artefaktu Wiele zmiennych artefaktów jest obsługiwanych w źródłach usługi Azure Pipelines.
Elementy robocze i zatwierdzenia Elementy robocze usługi Azure Pipelines można połączyć i będą wyświetlane w szczegółach wydań. Zatwierdzenia są wyświetlane podczas korzystania z kontrolek źródła git lub TFVC.
Pobieranie artefaktu Domyślnie artefakty kompilacji są pobierane do agenta uruchamiającego potok. Możesz również skonfigurować krok na etapie, aby pominąć pobieranie artefaktu.
Etapy wdrażania Podsumowanie kompilacji zawiera listę wszystkich etapów wdrażania, w których wdrożono artefakt.

Uwaga

W potoku kompilacji należy dołączyć zadanie Publish Artifacts (Publikuj artefakty ). W przypadku potoków kompilacji YAML artefakt z porzucaniem nazwy jest publikowany niejawnie.

Domyślnie wydania są uruchamiane z zakresem autoryzacji zadania na poziomie kolekcji. Oznacza to, że wydania mogą uzyskiwać dostęp do zasobów we wszystkich projektach w organizacji (lub kolekcji dla usługi Azure DevOps Server). Jest to przydatne podczas łączenia artefaktów kompilacji z innych projektów. W ustawieniach projektu można włączyć ograniczenie zakresu autoryzacji zadania do bieżącego projektu dla potoków wydania w celu ograniczenia dostępu do artefaktu projektu.

Aby ustawić zakres autoryzacji zadania dla organizacji:

  • Przejdź do ustawień organizacji.
  • Wybierz pozycję Ustawienia w obszarze Potoki.
  • Włącz przełącznik Ogranicz zakres autoryzacji zadania do bieżącego projektu dla potoków wydania, aby ograniczyć zakres do bieżącego projektu. Jest to zalecane ustawienie dla dobrych środków zabezpieczeń.

Aby ustawić zakres autoryzacji zadania dla określonego projektu:

  • Przejdź do ustawień projektu.
  • Wybierz pozycję Ustawienia w obszarze Potoki.
  • Włącz przełącznik Ogranicz zakres autoryzacji zadania do bieżącego projektu dla potoków wydania, aby ograniczyć zakres do bieżącego projektu. Jest to zalecane ustawienie, ponieważ zwiększa bezpieczeństwo potoków.

Uwaga

Jeśli zakres jest ustawiony na projekt na poziomie organizacji, nie można zmienić zakresu w każdym projekcie.

Wszystkie zadania w wydaniu są uruchamiane z zakresem autoryzacji zadania ustawionym na kolekcję. Innymi słowy, te zadania mają dostęp do zasobów we wszystkich projektach w kolekcji projektów.

Źródła artefaktów — kontrola wersji

Istnieją pewne scenariusze, w których możesz chcieć korzystać z artefaktów z różnych kontrolek źródła bezpośrednio bez przekazywania ich przez potok kompilacji. Na przykład:

  • Tworzenie aplikacji PHP lub JavaScript, która nie wymaga jawnego potoku kompilacji.

  • Konfiguracje można zarządzać dla różnych etapów w różnych repozytoriach kontroli wersji i chcesz korzystać z tych plików konfiguracji bezpośrednio z kontroli wersji w ramach potoku wdrażania.

  • Zarządzasz infrastrukturą i konfiguracją jako kodem i chcesz zarządzać tymi plikami w repozytorium kontroli wersji.

Ponieważ można skonfigurować wiele źródeł artefaktów w jednym potoku wydania, można połączyć zarówno potok kompilacji, który tworzy pliki binarne aplikacji, jak i repozytorium kontroli wersji, które przechowuje pliki konfiguracji w tym samym potoku, i używać dwóch zestawów artefaktów razem podczas wdrażania.

Usługa Azure Pipelines obsługuje repozytoria Kontrola wersji serwera Team Foundation (TFVC), repozytoria Git i repozytoria GitHub.

Potok wydania można połączyć z dowolnymi repozytoriami Git lub TFVC w dowolnym projekcie w kolekcji (będziesz potrzebować dostępu do odczytu do tych repozytoriów). Podczas wdrażania artefaktów kontroli wersji w tej samej kolekcji nie jest wymagana żadna dodatkowa konfiguracja.

Po połączeniu repozytorium GitHub i wybraniu gałęzi można edytować domyślne właściwości typów artefaktów po zapisaniu artefaktu. Jest to szczególnie przydatne w scenariuszach, w których gałąź dla stabilnej wersji artefaktu zmienia się, a wydania ciągłego dostarczania powinny używać tej gałęzi do uzyskiwania nowszych wersji artefaktu. Można również określić szczegóły wyewidencjonowania, takie jak to, czy moduły podrzędne wyewidencjonowania i pliki śledzone przez LFS oraz płytkie pobieranie głębokości.

Po połączeniu gałęzi TFVC można określić zestaw zmian do wdrożenia podczas tworzenia wydania.

Następujące funkcje są dostępne w przypadku korzystania z kontroli wersji serwera Team Foundation, usługi Git i usługi GitHub jako źródła artefaktów:

Funkcja opis
Wersje wyzwalacza automatycznego Nowe wydania można tworzyć automatycznie, gdy jest dostępny nowy artefakt kompilacji (w tym kompilacje XAML). Aby uzyskać więcej informacji, zobacz Wyzwalacze wydania.
Zmienne artefaktu Wiele zmiennych artefaktów jest obsługiwanych w źródłach usługi Azure Pipelines.
Elementy robocze i zatwierdzenia Elementy robocze usługi Azure Pipelines można połączyć, ponieważ będą one wyświetlane w szczegółach wydań. Zatwierdzenia są wyświetlane podczas korzystania z kontrolek źródła git lub TFVC.
Pobieranie artefaktu Domyślnie artefakty kompilacji są pobierane do agenta uruchamiającego potok. Możesz również skonfigurować krok na etapie, aby pominąć pobieranie artefaktu.

Domyślnie wydania są uruchamiane z zakresem autoryzacji zadania na poziomie kolekcji. Oznacza to, że wydania mogą uzyskiwać dostęp do zasobów we wszystkich projektach w organizacji (lub kolekcji dla usługi Azure DevOps Server). Jest to przydatne podczas łączenia artefaktów kompilacji z innych projektów. W ustawieniach projektu można włączyć ograniczenie zakresu autoryzacji zadania do bieżącego projektu dla potoków wydania w celu ograniczenia dostępu do artefaktu projektu.

Źródła artefaktów — Jenkins

Aby korzystać z artefaktów serwera Jenkins, należy utworzyć połączenie usługi, aby uwierzytelnić się za pomocą serwera Jenkins. Aby uzyskać więcej informacji, zobacz zarządzanie połączeniami usług i połączeniem usługi Jenkins. Aby opublikować artefakty, projekt Jenkins musi zostać skonfigurowany przy użyciu akcji po kompilacji.

W przypadku korzystania z narzędzia Jenkins jako źródła artefaktów dostępne są następujące funkcje:

Funkcja opis
Wersje wyzwalacza automatycznego Nowe wydania można tworzyć automatycznie, gdy jest dostępny nowy artefakt kompilacji (w tym kompilacje XAML). Aby uzyskać więcej informacji, zobacz Wyzwalacze wydania.
Zmienne artefaktu Wiele zmiennych artefaktów jest obsługiwanych w źródłach usługi Azure Pipelines.
Elementy robocze i zatwierdzenia Elementy robocze usługi Azure Pipelines można połączyć i będą wyświetlane w szczegółach wydań. Zatwierdzenia są wyświetlane podczas korzystania z kontrolek źródła git lub TFVC.
Pobieranie artefaktu Domyślnie artefakty kompilacji są pobierane do agenta uruchamiającego potok. Możesz również skonfigurować krok na etapie, aby pominąć pobieranie artefaktu.

Artefakty generowane przez kompilacje serwera Jenkins są zwykle propagowane do repozytoriów magazynu na potrzeby archiwizowania i udostępniania. Usługa Azure Blob Storage jest jednym z obsługiwanych repozytoriów, co umożliwia korzystanie z projektów serwera Jenkins, które publikują w usłudze Azure Storage jako źródła artefaktów w potoku wydania. Usługa Azure Pipelines automatycznie pobiera artefakty z platformy Azure do agenta uruchamiającego potok. W tym scenariuszu łączność między agentem a serwerem Jenkins nie jest wymagana. Agentów hostowanych przez firmę Microsoft można używać bez uwidaczniania serwera w Internecie.

Uwaga

Usługa Azure Pipelines może nie być w stanie skontaktować się z serwerem Jenkins, jeśli na przykład znajduje się on w sieci przedsiębiorstwa. W takim przypadku możesz zintegrować usługę Azure Pipelines z usługą Jenkins, konfigurując agenta lokalnego, który może uzyskiwać dostęp do serwera Jenkins. Nie będzie można wyświetlić nazwy projektów jenkins podczas łączenia z kompilacją, ale możesz wprowadzić nazwę w polu tekstowym adresu URL.

Źródła artefaktów — kontenery

W przypadku wdrażania konteneryzowanych aplikacji obraz kontenera jest najpierw wypychany do rejestru kontenerów. Następnie możesz wdrożyć obraz kontenera w usłudze Azure Web App for Containers lub klastrze Docker/Kubernetes. Aby uwierzytelnić się za pomocą platformy Azure, musisz utworzyć połączenie usługi. Aby uzyskać więcej informacji, zobacz zarządzanie połączeniami usług.

Podczas korzystania z usługi Azure Container jako źródła artefaktów są dostępne następujące funkcje:

Funkcja opis
Wersje wyzwalacza automatycznego Nowe wydania można tworzyć automatycznie, gdy jest dostępny nowy artefakt kompilacji (w tym kompilacje XAML). Aby uzyskać więcej informacji, zobacz Wyzwalacze wydania.
Zmienne artefaktu Wiele zmiennych artefaktów jest obsługiwanych w źródłach usługi Azure Pipelines.
Elementy robocze i zatwierdzenia Elementy robocze usługi Azure Pipelines można połączyć i będą wyświetlane w szczegółach wydań. Zatwierdzenia są wyświetlane podczas korzystania z kontrolek źródła git lub TFVC.
Pobieranie artefaktu Domyślnie artefakty kompilacji są pobierane do agenta uruchamiającego potok. Możesz również skonfigurować krok na etapie, aby pominąć pobieranie artefaktu.

Uwaga

W przypadku korzystania z wielu źródeł artefaktów mapowanie źródła artefaktu w celu wyzwolenia określonego etapu nie jest obsługiwane. Wydanie zostanie utworzone w dowolnym momencie wypychania do dowolnego ze źródeł artefaktów. Jeśli chcesz to zrobić, usługa Azure Pipelines zaleca podzielenie potoku wydania na wiele wersji.

Źródła artefaktów — Azure Artifacts

Poniżej przedstawiono niektóre scenariusze, w których można użyć usługi Azure Artifacts jako źródła artefaktów:

  1. Plik binarny aplikacji jest publikowany w usłudze Azure Artifacts i chcesz korzystać z pakietu w potoku wydania.
  2. Potrzebujesz dodatkowych pakietów przechowywanych w usłudze Azure Artifacts w ramach przepływu pracy wdrażania.

Korzystając z usługi Azure Artifacts w potoku wydania, musisz wybrać źródło danych, pakiet i wersję domyślną pakietu. Możesz wybrać najnowszą wersję pakietu, użyć określonej wersji lub wybrać wersję w momencie utworzenia wydania. Podczas wdrażania pakiet jest pobierany/wyodrębniany do agenta uruchamiającego potok.

Podczas korzystania z usługi Azure Artifacts jako źródła artefaktów są dostępne następujące funkcje:

Funkcja opis
Wersje wyzwalacza automatycznego Nowe wydania można tworzyć automatycznie, gdy jest dostępny nowy artefakt kompilacji (w tym kompilacje XAML). Aby uzyskać więcej informacji, zobacz Wyzwalacze wydania.
Zmienne artefaktu Wiele zmiennych artefaktów jest obsługiwanych w źródłach usługi Azure Pipelines.
Elementy robocze i zatwierdzenia Elementy robocze usługi Azure Pipelines można połączyć i będą wyświetlane w szczegółach wydań. Zatwierdzenia są wyświetlane podczas korzystania z kontrolek źródła git lub TFVC.
Pobieranie artefaktu Domyślnie artefakty kompilacji są pobierane do agenta uruchamiającego potok. Możesz również skonfigurować krok na etapie, aby pominąć pobieranie artefaktu.

Obsługa migawek programu Maven

W przypadku korzystania z migawek narzędzia Maven można pobrać jednocześnie wiele wersji (na przykład myApplication-2.1.0.BUILD-20190920.220048-3.jar, myApplication-2.1.0.BUILD-20190820.221046-2.jar, myApplication-2.1.0.BUILD-20190820.220331-1.jar). Może być konieczne usunięcie starej wersji i zachowanie najnowszej wersji artefaktu przed wdrożeniem. Uruchom następujące polecenie programu PowerShell w wierszu polecenia z podwyższonym poziomem uprawnień, aby usunąć wszystkie kopie z wyjątkiem jednego z najwyższą wartością leksykograficzne:

Get-Item "myApplication*.jar" | Sort-Object -Descending Name | Select-Object -SkipIndex 0 | Remove-Item

Uwaga

W kanale informacyjnym można przechowywać maksymalnie 30 migawek programu Maven. Po osiągnięciu maksymalnego limitu usługa Azure Artifacts automatycznie usunie migawki do 25. Ten proces zostanie wyzwolony automatycznie za każdym razem, gdy 30+ migawek zostanie opublikowanych w kanale informacyjnym.

Źródła artefaktów — serwer TFS

Usługa Azure Pipelines umożliwia wdrażanie artefaktów z serwerów TFS bez konieczności odnajdywania serwera w Internecie przez skonfigurowanie lokalnego agenta automatyzacji. Artefakty są pobierane do agenta lokalnego, a następnie wdrażane na określonych serwerach docelowych bez opuszczania sieci przedsiębiorstwa. Jest to idealne rozwiązanie dla klientów, którzy korzystają z inwestycji w infrastrukturę lokalną, korzystając z wersji usługi Azure Pipelines.

Aby użyć serwerów TFS jako źródła artefaktów, należy zainstalować artefakty TFS dla rozszerzenia usługi Azure Pipelines z witryny Visual Studio Marketplace, a następnie utworzyć połączenie usługi w celu uwierzytelniania za pomocą usługi Azure Pipelines. Po uwierzytelnieniu możesz połączyć potok kompilacji TFS z potokiem wydania i wybrać pozycję Zewnętrzna kompilacja TFS z menu rozwijanego Typ .

Podczas korzystania z serwerów TFS jako źródła artefaktów są dostępne następujące funkcje:

Funkcja opis
Wersje wyzwalacza automatycznego Nowe wydania można tworzyć automatycznie, gdy jest dostępny nowy artefakt kompilacji (w tym kompilacje XAML). Aby uzyskać więcej informacji, zobacz Wyzwalacze wydania.
Zmienne artefaktu Wiele zmiennych artefaktów jest obsługiwanych w źródłach usługi Azure Pipelines.
Elementy robocze i zatwierdzenia Elementy robocze usługi Azure Pipelines można połączyć i będą wyświetlane w szczegółach wydań. Zatwierdzenia są wyświetlane podczas korzystania z kontrolek źródła git lub TFVC.
Pobieranie artefaktu Domyślnie artefakty kompilacji są pobierane do agenta uruchamiającego potok. Możesz również skonfigurować krok na etapie, aby pominąć pobieranie artefaktu.

Usługa Azure Pipelines może nie być w stanie skontaktować się z lokalnym serwerem TFS w przypadku, gdy znajduje się on w sieci przedsiębiorstwa. W takim przypadku możesz zintegrować usługę Azure Pipelines z serwerem TFS, konfigurując agenta lokalnego, który może uzyskać dostęp do serwera TFS. Nie będzie można wyświetlić nazwy projektów TFS ani potoków kompilacji podczas łączenia z kompilacją, ale te zmienne można uwzględnić w polach tekstowych adresu URL. Ponadto podczas tworzenia wydania usługa Azure Pipelines może nie być w stanie wykonać zapytania o serwer TFS dla numerów kompilacji. Zamiast tego wprowadź identyfikator kompilacji (a nie numer kompilacji) żądanej kompilacji w odpowiednim polu lub wybierz najnowszą kompilację.

Źródła artefaktów — TeamCity

Aby użyć usługi TeamCity jako źródła artefaktów, należy najpierw zainstalować artefakty TeamCity dla rozszerzenia usługi Azure Pipelines z witryny Visual Studio Marketplace.

Po zakończeniu utwórz połączenie usługi w celu uwierzytelnienia na serwerze TeamCity. Następnie możesz połączyć artefakt kompilacji z potokiem wydania. Konfiguracja kompilacji usługi TeamCity musi zostać skonfigurowana przy użyciu akcji publikowania artefaktów.

Następujące funkcje są dostępne w przypadku korzystania z usługi TeamCity jako źródła artefaktów:

Funkcja opis
Wersje wyzwalacza automatycznego Nowe wydania można tworzyć automatycznie, gdy jest dostępny nowy artefakt kompilacji (w tym kompilacje XAML). Aby uzyskać więcej informacji, zobacz Wyzwalacze wydania.
Zmienne artefaktu Wiele zmiennych artefaktów jest obsługiwanych w źródłach usługi Azure Pipelines.
Elementy robocze i zatwierdzenia Elementy robocze usługi Azure Pipelines można połączyć i będą wyświetlane w szczegółach wydań. Zatwierdzenia są wyświetlane podczas korzystania z kontrolek źródła git lub TFVC.
Pobieranie artefaktu Domyślnie artefakty kompilacji są pobierane do agenta uruchamiającego potok. Możesz również skonfigurować krok na etapie, aby pominąć pobieranie artefaktu.

Usługa Azure Pipelines może nie być w stanie skontaktować się z serwerem TeamCity, jeśli na przykład znajduje się on w sieci przedsiębiorstwa. W takim przypadku możesz zintegrować usługę Azure Pipelines z usługą TeamCity, konfigurując agenta lokalnego, który może uzyskiwać dostęp do serwera TeamCity. Nie będzie można wyświetlić nazwy projektów TeamCity podczas łączenia z kompilacją, ale możesz wpisać je w polu tekstowym adresu URL.

Alias źródła artefaktu

Aby zapewnić unikatowość każdego pobierania artefaktów, każde źródło artefaktu połączone z potokiem wydania jest automatycznie dostarczane z określoną lokalizacją pobierania znaną jako alias źródłowy. Dostęp do tej lokalizacji można uzyskać przy użyciu zmiennej : $(System.DefaultWorkingDirectory)\[source alias]

Użycie aliasów źródłowych gwarantuje, że zmiana nazwy połączonego źródła artefaktu nie wymaga edytowania właściwości zadania, ponieważ lokalizacja pobierania zdefiniowana w agencie nie zmienia się.

Domyślnie alias źródłowy jest nazwą źródła artefaktu poprzedzoną podkreśleniami. W zależności od typu źródła artefaktu będzie to nazwa potoku kompilacji, nazwy zadania, nazwy projektu lub nazwy repozytorium. Alias źródłowy można edytować na karcie artefaktów potoku wydania.

Pobieranie artefaktu

Po zakończeniu wdrożenia na etapie wersjonowane artefakty z każdego ze źródeł są pobierane do agenta potoku, aby zadania uruchomione na tym etapie mogły uzyskiwać dostęp do tych artefaktów. Pobrane artefakty nie są usuwane po zakończeniu wydania. Jednak po zainicjowaniu następnej wersji pobrane artefakty zostaną usunięte i zastąpione nowym zestawem artefaktów.

Nowy unikatowy folder w agencie jest tworzony dla każdego potoku wydania po zainicjowaniu wydania, a artefakty są pobierane do następującego folderu:$(System.DefaultWorkingDirectory)

Usługa Azure Pipelines nie wykonuje żadnej optymalizacji, aby uniknąć pobierania niezmienionych artefaktów, jeśli ta sama wersja zostanie wdrożona ponownie. Ponadto, ponieważ wcześniej pobrana zawartość jest zawsze usuwana po zainicjowaniu nowej wersji, usługa Azure Pipelines nie może wykonywać przyrostowych pobrań do agenta.

Możesz jednak skonfigurować potok tak, aby pominąć automatyczne pobieranie dla określonego zadania lub etapu, jeśli chcesz to zrobić.