Udostępnij za pośrednictwem


Agenci hostowani przez firmę Microsoft

Azure DevOps Services

Agenci hostowani przez firmę Microsoft są dostępni tylko w usługach Azure DevOps Services, które są hostowane w chmurze. Nie można używać agentów hostowanych przez firmę Microsoft ani puli agentów usługi Azure Pipelines z lokalnym programem TFS lub serwerem Azure DevOps Server. W przypadku tych wersji lokalnych należy używać własnych agentów.

Ważne

Wybierz wersję z selektora wersji zawartości usługi Azure DevOps.

Wybierz wersję tego artykułu odpowiadającą twojej platformie i wersji. Selektor wersji znajduje się powyżej spisu treści. Wyszukaj platformę i wersję usługi Azure DevOps.

Jeśli Twoje potoki znajdują się w usłudze Azure Pipelines, masz wygodną opcję uruchamiania swoich zadań przy użyciu agenta hostowanego przez Microsoft. W przypadku agentów hostowanych przez Microsoft konserwacja i uaktualnienia są wykonywane dla Ciebie. Zawsze otrzymujesz najnowszą wersję obrazu maszyny wirtualnej, którą wybierzesz w swojej transmisji. Za każdym razem, gdy uruchamiasz pipeline, otrzymujesz nową maszynę wirtualną dla każdego zadania w pipeline. Maszyna wirtualna zostanie odrzucona po jednym zadaniu (co oznacza, że każda zmiana, którą zadanie wykonuje w systemie plików maszyny wirtualnej, na przykład wyewidencjonowanie kodu, będzie niedostępna dla następnego zadania). Agenci hostowani przez firmę Microsoft mogą uruchamiać zadania bezpośrednio na maszynie wirtualnej lub w kontenerze.

Usługa Azure Pipelines udostępnia wstępnie zdefiniowaną pulę agentów o nazwie Azure Pipelines z agentami hostowanymi przez Microsoft.

Dla wielu zespołów jest to najprostszy sposób wykonywania zadań. Możesz spróbować go najpierw i sprawdzić, czy działa w przypadku kompilacji lub wdrożenia. Jeśli nie, możesz użyć agentów zestawu skalowania lub agenta samodzielnie hostowanego.

Napiwek

Możesz wypróbować agenta hostowanego przez firmę Microsoft bez opłat.

Oprogramowanie

Pula agentów usługi Azure Pipelines oferuje kilka obrazów maszyn wirtualnych do wyboru, z których każdy obejmuje szeroką gamę narzędzi i oprogramowania.

Obraz Specyfikacja agenta edytora klasycznego Etykieta obrazu maszyny wirtualnej YAML Dołączone oprogramowanie
Windows Server 2025 z programem Visual Studio 2022 (wersja zapoznawcza) windows-2025 windows-2025 Link
Windows Server 2022 z programem Visual Studio 2022 windows-2022 windows-latest LUB windows-2022 Link
Windows Server 2019 z programem Visual Studio 2019 windows-2019 windows-2019 Link
Ubuntu 24.04 ubuntu-24.04 ubuntu-24.04 Link
Ubuntu 22.04 ubuntu-22.04 ubuntu-latest LUB ubuntu-22.04 Link
Ubuntu 20.04 ubuntu-20.04 ubuntu-20.04 Link
MacOS 15 Sequoia (wersja zapoznawcza) macOS-15 macOS-15 Link
System macOS 14 Sonoma macOS-14 macOS-latest LUB macOS-14 Link
MacOS 13 Ventura macOS-13 macOS-13 Link

Domyślny obraz agenta dla klasycznych potoków kompilacji to windows-2019, a domyślny obraz agenta dla potoków kompilacji YAML to ubuntu-latest. Aby uzyskać więcej informacji, zobacz Wyznaczanie puli w pipeline.

Zainstalowane oprogramowanie dla każdego hostowanego agenta można wyświetlić, wybierając link Dołączone oprogramowanie w tabeli. W przypadku korzystania z obrazów systemu macOS możesz ręcznie wybrać wersję narzędzia. Dowiedz się więcej.

Najnowsze aktualizacje

Zachęcamy klientów do migracji do nowszych wersji lub własnego agenta.

Aby uzyskać więcej informacji i instrukcje dotyczące aktualizowania potoków korzystających z tych obrazów, zobacz Usuwanie starszych obrazów w hostowanych pulach usługi Azure Pipelines.

Uwaga

Hostowana przez usługę Azure Pipelines pula zastępuje poprzednie hostowane pule, które miały nazwy mapowane na odpowiednie obrazy. Wszystkie zadania z poprzednich hostowanych pul są automatycznie przekierowywane do poprawnego obrazu w nowej puli hostowanej usługi Azure Pipelines. W niektórych sytuacjach nadal mogą być widoczne stare nazwy puli, ale w tle hostowane zadania są uruchamiane przy użyciu puli usługi Azure Pipelines. Aby uzyskać więcej informacji na temat tej aktualizacji, zobacz informacje o wersji pojedynczej hostowanej puli w informacji o wersji Sprint 154 od 1 lipca 2019 r.

Ważne

Aby zażądać zainstalowania dodatkowego oprogramowania na agentach hostowanych przez firmę Microsoft, nie twórz żądania o opinię dotyczącą tego dokumentu ani nie otwieraj zgłoszenia do pomocy technicznej. Zamiast tego otwórz problem w naszym repozytorium, w którym zarządzamy skryptami w celu wygenerowania różnych obrazów.

Jak identyfikować rurociągi z użyciem przestarzałego hostowanego obrazu

Aby zidentyfikować potoki korzystające z przestarzałego obrazu, przejdź do następującej lokalizacji w organizacji: https://dev.azure.com/{organization}/{project}/_settings/agentqueues i filtruj według nazwy obrazu, aby sprawdzić. Poniższy przykład sprawdza vs2017-win2016 obraz.

Zrzut ekranu przedstawiający filtrowanie potoków według nazwy obrazu.

Możesz również wykonywać zapytania dotyczące historii zadań dla przestarzałych obrazów w projektach przy użyciu skryptu znajdującego się tutaj, jak pokazano w poniższym przykładzie.

./QueryJobHistoryForRetiredImages.ps1 -accountUrl https://dev.azure.com/{org} -pat {pat}

Korzystanie z agenta hostowanego przez firmę Microsoft

W potokach YAML, jeśli nie określisz puli, domyślnie używana jest pula agentów Azure Pipelines. Wystarczy określić obraz maszyny wirtualnej, którego chcesz użyć.

jobs:
- job: Linux
  pool:
    vmImage: 'ubuntu-latest'
  steps:
  - script: echo hello from Linux
- job: macOS
  pool:
    vmImage: 'macOS-latest'
  steps:
  - script: echo hello from macOS
- job: Windows
  pool:
    vmImage: 'windows-latest'
  steps:
  - script: echo hello from Windows

Uwaga

Specyfikacja puli może być wykonywana na wielu poziomach w pliku YAML. Jeśli zauważysz, że pipeline nie uruchamia się na oczekiwanym obrazie, upewnij się, że specyfikacja puli została zweryfikowana na poziomie pipeline, etapu i zadania.

Unikaj zakodowanych odwołań

W przypadku korzystania z agenta hostowanego przez firmę Microsoft zawsze używaj zmiennych do odwoływania się do środowiska kompilacji i zasobów agenta. Na przykład, nie należy na stałe określać litery dysku ani folderu zawierającego repozytorium. Dokładny układ hostowanych agentów może ulec zmianie bez ostrzeżenia.

Sprzęt

Agenty hostowane przez firmę Microsoft, które uruchamiają obrazy systemu Windows i Linux, są aprowizowane na maszynach wirtualnych ogólnego przeznaczenia platformy Azure z 2-rdzeniowym procesorem CPU, 7 GB pamięci RAM i 14 GB miejsca na dysku SSD. Te maszyny wirtualne znajdują się w tej samej lokalizacji geograficznej co organizacja usługi Azure DevOps.

Agenty, które uruchamiają obrazy systemu macOS, są aprowizowane na komputerach Mac pro z 3-rdzeniowym procesorem CPU, 14 GB pamięci RAM i 14 GB miejsca na dysku SSD. Te agenty zawsze działają w Stanach Zjednoczonych niezależnie od lokalizacji organizacji usługi Azure DevOps. Jeśli suwerenność danych jest dla Ciebie ważna, a Twoja organizacja nie znajduje się w Stanach Zjednoczonych, nie należy używać obrazów systemu macOS. Dowiedz się więcej.

Te wszystkie maszyny mają co najmniej 10 GB wolnego miejsca na dysku dostępnego na potrzeby uruchamiania potoków. To wolne miejsce jest używane, gdy pipeline wyewidencjonuje kod źródłowy, pobiera pakiety, pobiera obrazy Docker lub generuje pliki pośrednie.

Ważne

Nie możemy honorować żądań zwiększenia miejsca na dysku na agentach hostowanych przez firmę Microsoft ani aprowizacji bardziej zaawansowanych maszyn. Jeśli specyfikacje agentów hostowanych przez firmę Microsoft nie spełniają Twoich potrzeb, należy rozważyć własnych agentów lub agentów zestawu skalowania lub zarządzanych pul DevOps .

Sieciowanie

W niektórych konfiguracjach może być konieczne poznanie zakresu adresów IP, w których agenty są wdrażane. Jeśli na przykład musisz udzielić hostowanym agentom dostępu za pośrednictwem zapory, możesz ograniczyć ten dostęp za pomocą adresu IP. Ponieważ usługa Azure DevOps korzysta z globalnej sieci platformy Azure, zakresy adresów IP zmieniają się w czasie. Firma Microsoft publikuje tygodniowy plik JSON zawierający listę zakresów adresów IP dla centrów danych platformy Azure podzielonych według regionów. Ten plik jest aktualizowany co tydzień przy użyciu nowych planowanych zakresów adresów IP. Tylko najnowsza wersja pliku jest dostępna do pobrania. Jeśli potrzebujesz poprzednich wersji, musisz pobierać je i archiwizować co tydzień, gdy staną się dostępne. Nowe zakresy adresów IP zaczynają obowiązywać w kolejnym tygodniu. Zalecamy częste sprawdzanie (co najmniej raz w tygodniu), aby zapewnić aktualność listy. Jeśli zadania agenta zaczną kończyć się niepowodzeniem, pierwszym krokiem rozwiązywania problemów jest upewnienie się, że konfiguracja jest zgodna z najnowszą listą adresów IP. Zakresy adresów IP dla hostowanych agentów są wyświetlane w pliku tygodniowym pod AzureCloud.<region>, na przykład AzureCloud.westus dla regionu Zachodniego USA.

Hostowane agenty działają w tej samej lokalizacji geograficznej platformy Azure co Twoja organizacja. Każda lokalizacja geograficzna obejmuje co najmniej jeden region. Chociaż agent może działać w tym samym regionie co organizacja, nie ma gwarancji, że tak będzie. Aby uzyskać pełną listę możliwych zakresów adresów IP dla agenta, należy użyć zakresów adresów IP ze wszystkich regionów zawartych w lokalizacji geograficznej. Jeśli na przykład organizacja znajduje się w lokalizacji geograficznej Stany Zjednoczone, musisz użyć zakresów adresów IP dla wszystkich regionów w tej lokalizacji geograficznej.

Aby określić lokalizację geograficzną, przejdź do https://dev.azure.com/<your_organization>/_settings/organizationOverview, znajdź swój region, a następnie odnajdź skojarzoną lokalizację geograficzną z tabeli geografii Azure. Gdy zidentyfikujesz swoją lokalizację geograficzną, użyj zakresów adresów IP z tygodniowego pliku dla wszystkich regionów w tej lokalizacji geograficznej.

Ważne

Nie można używać połączeń prywatnych, takich jak ExpressRoute lub VPN, aby połączyć agentów hostowanych przez firmę Microsoft z siecią firmową. Ruch między agentami hostowanymi przez firmę Microsoft a serwerami będzie realizowany za pośrednictwem sieci publicznej.

Aby zidentyfikować możliwe zakresy adresów IP dla agentów hostowanych przez firmę Microsoft

  1. Zidentyfikuj region organizacji w ustawieniach organizacji.
  2. Zidentyfikuj lokalizację geograficzną platformy Azure dla regionu organizacji.
  3. Zamapuj nazwy regionów w swojej geografii na format używany w pliku tygodniowym, taki jak format AzureCloud.<region>, jak np. AzureCloud.westus. Nazwy regionów można mapować z listy Geografii Azure na format używany w pliku tygodniowym, poprzez przeglądanie nazw regionów przekazanych do konstruktora regionów zdefiniowanych w kodzie źródłowym klasy Region z Bibliotek Zarządzania Azure dla .NET.

    Uwaga

    Ponieważ w Azure Management Libraries dla platformy .NET nie ma interfejsu API, aby uzyskać listę regionów dla danego obszaru geograficznego, należy je wyświetlić ręcznie, jak pokazano w poniższym przykładzie.

  4. Pobierz adresy IP dla wszystkich regionów w Twojej lokalizacji geograficznej z tygodniowego pliku. Jeśli region to Brazylia Południowa lub Europa Zachodnia, musisz uwzględnić dodatkowe zakresy adresów IP w oparciu o lokalizację geograficzną rezerwową, zgodnie z opisem w poniższej notatce.

Uwaga

Ze względu na ograniczenia pojemności niektóre organizacje w regionach Brazylia Południowa lub Europa Zachodnia mogą od czasu do czasu zobaczyć swoich hostowanych agentów znajdujących się poza oczekiwaną lokalizacją geograficzną. W takich przypadkach, oprócz uwzględnienia zakresów adresów IP dla wszystkich regionów w twojej lokalizacji geograficznej, jak opisano w poprzedniej sekcji, należy dodać dodatkowe zakresy adresów IP dla regionów w geografii rezerwowej pojemności.

Jeśli Twoja organizacja znajduje się w regionie Brazylia Południowa, Twoją rezerwową lokalizacją geograficzną dla pojemności są Stany Zjednoczone.

Jeśli Twoja organizacja znajduje się w regionie Europa Zachodnia, zapasowym regionem pojemności jest Francja.

Nasze zakresy adresów IP dla komputerów Mac nie są uwzględnione w powyższych adresach IP platformy Azure, ponieważ są one hostowane w chmurze systemu macOS w usłudze GitHub. Zakresy adresów IP można pobrać przy użyciu interfejsu API metadanych usługi GitHub, korzystając z instrukcji podanych tutaj.

Przykład

W poniższym przykładzie zakresy adresów IP hostowanego agenta dla organizacji w regionie Zachodniego USA są pobierane z tygodniowego pliku. Ponieważ region Zachodnich Stanów USA znajduje się w lokalizacji geograficznej Stany Zjednoczone, uwzględniane są adresy IP dla wszystkich regionów w tej lokalizacji geograficznej. W tym przykładzie adresy IP są zapisywane na konsolę.

using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

namespace WeeklyFileIPRanges
{
    class Program
    {
        // Path to the locally saved weekly file
        const string weeklyFilePath = @"C:\MyPath\ServiceTags_Public_20230904.json";

        static void Main(string[] args)
        {
            // United States geography has the following regions:
            // Central US, East US, East US 2, East US 3, North Central US, 
            // South Central US, West Central US, West US, West US 2, West US 3
            // This list is accurate as of 9/8/2023
            List<string> USGeographyRegions = new List<string>
            {
                "centralus",
                "eastus",
                "eastus2",
                "eastus3",
                "northcentralus",
                "southcentralus",
                "westcentralus",
                "westus",
                "westus2",
                "westus3"
            };

            // Load the weekly file
            JObject weeklyFile = JObject.Parse(File.ReadAllText(weeklyFilePath));
            JArray values = (JArray)weeklyFile["values"];

            foreach (string region in USGeographyRegions)
            {
                string tag = $"AzureCloud.{region}";
                Console.WriteLine(tag);

                var ipList =
                    from v in values
                    where tag.Equals((string)v["name"], StringComparison.OrdinalIgnoreCase)
                    select v["properties"]["addressPrefixes"];

                foreach (var ip in ipList.Children())
                {
                    Console.WriteLine(ip);
                }
            }
        }
    }
}

Tagi usługi

Agentów hostowanych przez firmę Microsoft nie można wyświetlać według tagów usługi. Jeśli próbujesz udzielić hostowanym agentom dostępu do zasobów, musisz postępować zgodnie z metodą listy dozwolonych zakresów adresów IP.

Zabezpieczenia

Agenci hostowani przez firmę Microsoft działają na bezpiecznej platformie Azure. Należy jednak pamiętać o następujących kwestiach dotyczących zabezpieczeń.

  • Mimo że agenci hostowani przez firmę Microsoft działają w sieci publicznej platformy Azure, nie mają przypisanych publicznych adresów IP. W związku z tym jednostki zewnętrzne nie mogą atakować agentów hostowanych przez Microsoft.
  • Agenci hostowani przez firmę Microsoft są uruchamiani na poszczególnych maszynach wirtualnych, które są ponownie obrazowane po każdym uruchomieniu. Każdy agent jest przeznaczony dla jednej organizacji, a każda maszyna wirtualna hostuje tylko jednego agenta.
  • Istnieje kilka korzyści z uruchamiania potoku na agentach hostowanych przez firmę Microsoft z perspektywy zabezpieczeń. Jeśli uruchamiasz niezaufany kod w potoku danych, na przykład kontrybucje z rozwidleń, bezpieczniej jest uruchamiać potok na agentach hostowanych przez Microsoft, niż na własnych agentach zlokalizowanych w sieci korporacyjnej.
  • Gdy pipeline potrzebuje dostępu do zasobów firmowych za zaporą, musisz zezwolić na zakres adresów IP dla regionu Azure. Może to zwiększyć ekspozycję, ponieważ zakres adresów IP jest dość duży i ponieważ maszyny w tym zakresie mogą również należeć do innych klientów. Najlepszym sposobem zapobiegania temu jest uniknięcie konieczności uzyskania dostępu do zasobów wewnętrznych. Aby uzyskać informacje na temat wdrażania artefaktów w grupie serwerów, zobacz Komunikacja dotycząca wdrażania na serwery docelowe.
  • Hostowane obrazy nie są zgodne z benchmarkami CIS dotyczącymi wzmacniania zabezpieczeń. Aby używać obrazów zabezpieczonych zgodnie ze standardem CIS, należy utworzyć własnych agentów, agentów zestawu skalowania lub zarządzane pule DevOps.

Możliwości i ograniczenia

Agenci hostowani przez firmę Microsoft:

  • Masz powyższe oprogramowanie. Możesz również dodać oprogramowanie podczas kompilacji lub wydania przy użyciu zadań instalatora narzędzi.
    • Otrzymasz świeżo przygotowanego agenta dla każdego zadania w potoku.
  • Zapewnij 10 GB miejsca na dane dla kodu źródłowego i outputów kompilacji.
  • Zapewnij bezpłatny poziom.
    • Projekt publiczny: 10 bezpłatnych zadań równoległych hostowanych przez firmę Microsoft, które mogą być uruchamiane przez maksymalnie 360 minut (6 godzin) za każdym razem, bez ogólnego limitu czasu na miesiąc. Skontaktuj się z nami, aby zwiększyć limity darmowego poziomu.
    • Projekt prywatny: jedno darmowe zadanie równoległe, które można uruchamiać maksymalnie przez 60 minut każdorazowo, aż do wykorzystania 1800 minut (30 godzin) miesięcznie. Możesz płacić za dodatkową pojemność na każde zadanie równoległe. Płatne zadania równoległe usuwają miesięczny limit czasu i umożliwiają uruchamianie każdego zadania przez maksymalnie 360 minut (6 godzin). Kup zadania równoległe hostowane przez firmę Microsoft.
    • Podczas tworzenia nowej organizacji usługi Azure DevOps nie otrzymujesz domyślnie tych bezpłatnych dotacji. Aby zażądać bezpłatnej dotacji dla projektów publicznych lub prywatnych, prześlij wniosek.
  • Działa na maszynach wirtualnych ogólnego przeznaczenia Microsoft Azure Standard_DS2_v2.
  • Uruchom jako administrator w systemie Windows i jako użytkownik sudo bez hasła w systemie Linux.
  • (Tylko dla systemu Linux) Uruchom kroki w środowisku cgroup, które oferuje 6 GB pamięci fizycznej i 13 GB całkowitej pamięci.
  • Używaj obrazów maszyn wirtualnych, które są regularnie aktualizowane (co 3 tygodnie).

Agenci hostowani przez firmę Microsoft nie oferują:

  • Możliwość zdalnego nawiązywania połączenia.
  • Możliwość przenoszenia artefaktów na udział plikowy UNC.
  • Możliwość dołączania maszyn bezpośrednio do sieci firmowej.
  • Możliwość uzyskania większych lub bardziej zaawansowanych maszyn budowlanych.
  • Możliwość wstępnego ładowania oprogramowania niestandardowego. Oprogramowanie można instalować podczas wykonywania przebiegu potoku, na przykład za pomocą zadań instalatora narzędzi lub skryptu.
  • Potencjalne zalety wydajności wynikające z użycia własnych agentów, które mogą uruchamiać i przeprowadzać kompilacje szybciej. Dowiedz się więcej
  • Możliwość uruchamiania buildów XAML.
  • Możliwość powrotu do poprzedniej wersji obrazu maszyny wirtualnej. Zawsze używasz najnowszej wersji.

Jeśli agenci hostowani przez firmę Microsoft nie spełniają Twoich potrzeb, możesz wdrożyć własnych agentów własnych lub użyć agentów zestawu skalowania lub zarządzanych pul DevOps.

Często zadawane pytania

Jak mogę zobaczyć, jakie oprogramowanie znajduje się na obrazie?

Zainstalowane oprogramowanie dla każdego hostowanego agenta można wyświetlić, wybierając link Dołączone oprogramowanie w tabeli Software (Oprogramowanie).

Uwaga

Domyślnie agent systemu Windows używa wersji narzędzia Git powiązanej z oprogramowaniem agenta. Firma Microsoft zaleca użycie wersji narzędzia Git powiązanej z agentem, ale istnieje kilka opcji zastąpienia tego domyślnego zachowania i użycia wersji usługi Git zainstalowanej na maszynie agenta w ścieżce.

Aby wyświetlić wersję Git używaną przez potok, możesz przejrzeć dzienniki dla kroku checkout w swoim potoku, jak pokazano w poniższym przykładzie.

Syncing repository: PathFilter (Git)
Prepending Path environment variable with directory containing 'git.exe'.
git version
git version 2.26.2.windows.1

W jaki sposób firma Microsoft wybiera oprogramowanie i wersje do umieszczenia na obrazie?

Więcej informacji na temat wersji oprogramowania zawartych na obrazach można znaleźć na stronie Wytyczne dotyczące instalowanych elementów.

Kiedy obrazy są aktualizowane?

Obrazy są zwykle aktualizowane co tydzień. Możesz sprawdzić znaczki stanu w formacie 20200113.x , w którym pierwsza część wskazuje datę aktualizacji obrazu.

Co mogę zrobić, jeśli potrzebne oprogramowanie zostało usunięte lub zastąpione nowszą wersją?

Możesz poinformować nas, nadając zgłoszenie w GitHub, wybierając linki do Dołączonego Oprogramowania w tabeli Użyj agenta hostowanego przez firmę Microsoft.

Możesz również użyć własnego agenta, który zawiera dokładne wersje potrzebnego oprogramowania. Aby uzyskać więcej informacji, zobacz Agenci hostowani samodzielnie.

Co zrobić, jeśli potrzebuję większej maszyny o większej mocy obliczeniowej, pamięci lub miejsca na dysku?

Nie można zwiększyć pamięci, mocy obliczeniowej ani miejsca na dysku dla agentów hostowanych przez firmę Microsoft, ale można użyć agentów własnych lub agentów zestawu skalowania lub zarządzanych pul DevOps hostowanych na maszynach z żądanymi specyfikacjami.

Nie mogę wybrać agenta hostowanego przez firmę Microsoft i nie mogę ustawić mojej kompilacji lub wdrożenia w kolejce. Co mam robić?

Agenci hostowani przez firmę Microsoft są dostępni tylko w usłudze Azure Pipelines, a nie w programie TFS lub usłudze Azure DevOps Server.

Domyślnie wszyscy współautorzy projektu w organizacji mają dostęp do agentów hostowanych przez firmę Microsoft. Jednak administrator organizacji może ograniczyć dostęp agentów hostowanych przez firmę Microsoft do wybierania użytkowników lub projektów. Poproś właściciela organizacji usługi Azure DevOps o udzielenie Ci uprawnień do korzystania z agenta hostowanego przez firmę Microsoft. Zobacz Zabezpieczenia puli agentów.

Ukończenie potoków uruchomionych na agentach hostowanych przez firmę Microsoft zajmuje więcej czasu. Jak mogę je przyspieszyć?

Jeśli potok danych stał się ostatnio wolniejszy, sprawdź naszą stronę statusu, aby sprawdzić, czy nie ma awarii. Możemy mieć problemy z naszą usługą. Alternatywnie, przejrzyj wszelkie zmiany, które wprowadziłeś w kodzie aplikacji lub potoku. Rozmiar repozytorium podczas wyewidencjonowania mógł się zwiększyć, być może przesyłasz większe artefakty lub uruchamiasz więcej testów.

Jeśli po prostu konfigurujesz potok i porównujesz wydajność agentów hostowanych przez firmę Microsoft z maszyną lokalną lub własnym agentem, zanotuj specyfikacje sprzętu, który wykorzystujemy do uruchamiania twoich zadań. Nie możemy dostarczyć Ci większych lub bardziej zaawansowanych maszyn. Możesz rozważyć użycie agentów obsługiwanych samodzielnie , agentów skalowalnych zestawów lub zarządzanych pul agentów DevOps , jeśli ta wydajność nie jest akceptowalna.

Potrzebuję więcej agentów. Co mogę zrobić?

Wszystkie organizacje korzystające z Azure DevOps otrzymują kilka bezpłatnych zadań równoległych dla projektów typu open-source oraz jedno bezpłatne zadanie równoległe i ograniczoną liczbę minut w każdym miesiącu na projekty prywatne. Jeśli potrzebujesz dodatkowych minut lub zadań równoległych dla projektu open source, skontaktuj się z pomocą techniczną. Jeśli potrzebujesz dodatkowych minut lub zadań równoległych dla projektu prywatnego, możesz kupić więcej.

Mój pipeline działa pomyślnie na agencie samodzielnie hostowanym, ale kończy się niepowodzeniem na agentach hostowanych przez Microsoft. Co mam robić?

Twój własny agent prawdopodobnie ma zainstalowane wszystkie odpowiednie zależności, natomiast te same zależności, narzędzia i oprogramowanie nie są zainstalowane na agentach hostowanych przez firmę Microsoft. Najpierw dokładnie przejrzyj listę oprogramowania zainstalowanego na agentach hostowanych przez firmę Microsoft, korzystając z linku do dołączonego oprogramowania w powyższej tabeli. Następnie porównaj to z oprogramowaniem zainstalowanym na własnym agencie. W niektórych przypadkach agenci hostowani przez firmę Microsoft mogą mieć potrzebne narzędzia (na przykład Program Visual Studio), ale wszystkie niezbędne składniki opcjonalne mogą nie zostać zainstalowane. Jeśli znajdziesz różnice, masz dwie opcje:

Moja kompilacja kończy się powodzeniem na moim komputerze lokalnym, ale kończy się niepowodzeniem w przypadku agentów hostowanych przez firmę Microsoft. Co mam robić?

Na komputerze lokalnym prawdopodobnie są zainstalowane wszystkie odpowiednie zależności, natomiast te same zależności, narzędzia i oprogramowanie nie są zainstalowane na agentach hostowanych przez firmę Microsoft. Najpierw dokładnie przejrzyj listę oprogramowania zainstalowanego na agentach hostowanych przez firmę Microsoft, korzystając z linku do dołączonego oprogramowania w powyższej tabeli. Następnie porównaj je z oprogramowaniem zainstalowanym na komputerze lokalnym. W niektórych przypadkach agenci hostowani przez firmę Microsoft mogą mieć potrzebne narzędzia (np. Visual Studio), ale wszystkie niezbędne składniki opcjonalne mogą nie zostać zainstalowane. Jeśli znajdziesz różnice, masz dwie opcje:

  • W repozytorium można utworzyć nowy problem, w którym śledzimy żądania dotyczące dodatkowego oprogramowania. Jest to najlepsze rozwiązanie w przypadku instalowania nowego oprogramowania. Kontaktowanie się z pomocą techniczną nie pomoże Ci w konfigurowaniu nowego oprogramowania na agentach hostowanych przez firmę Microsoft.

  • Możesz użyć własnych agentów lub agentów zestawu skalowania lub zarządzanych pul DevOps. Dzięki tym agentom masz pełną kontrolę nad obrazami używanymi do uruchamiania potoków.

Mój ciąg przetwarzania kończy się niepowodzeniem z powodu błędu: "Brak miejsca na urządzeniu".

Agenci hostowani przez firmę Microsoft mają dostępne tylko 10 GB miejsca na dysku do uruchomienia zadania. Ta przestrzeń jest wykorzystywana, gdy sprawdzasz kod źródłowy, pobierasz pakiety, pobierasz obrazy Dockera lub tworzysz pliki pośrednie. Niestety nie możemy zwiększyć wolnego miejsca dostępnego na obrazach hostowanych przez firmę Microsoft. Potok danych można zrestrukturyzować tak, żeby pasował do tego obszaru. Możesz też rozważyć użycie samodzielnie hostowanych agentów , agentów zestawów skalowania lub zarządzanych pul DevOps .

Mój pipeline działający na agentach hostowanych przez Microsoft wymaga dostępu do serwerów w naszej sieci korporacyjnej. Jak uzyskać listę adresów IP do przepuszczenia przez zaporę?

Zobacz sekcję Zakresy adresów IP agenta

Nasz proces działający na agentach hostowanych przez firmę Microsoft nie może zidentyfikować nazwy serwera w naszej sieci firmowej. Jak możemy rozwiązać ten problem?

Jeśli odwołujesz się do serwera według jego nazwy DNS, upewnij się, że serwer jest publicznie dostępny w Internecie za pośrednictwem jego nazwy DNS. Jeśli odwołujesz się do serwera przy użyciu jego adresu IP, upewnij się, że adres IP jest publicznie dostępny w Internecie. W obu przypadkach upewnij się, że wszystkie zapory między agentami a siecią firmową mają dozwolone zakresy adresów IP agenta .

Otrzymuję błąd autoryzacji adresu IP sygnatury dostępu współdzielonego (SAS) z konta usługi Azure Storage

Jeśli otrzymasz kod błędu SAS, najprawdopodobniej jest to spowodowane tym, że zakresy adresów IP agentów hostowanych przez Microsoft nie są dozwolone ze względu na reguły usługi Azure Storage. Istnieje kilka obejść:

  1. Zarządzaj regułami sieci ip dla konta usługi Azure Storage i dodaj zakresy adresów IP dla hostowanych agentów.
  2. W swoim pipeline użyj Azure CLI, aby zaktualizować zestaw reguł sieciowych dla konta Azure Storage bezpośrednio przed uzyskaniem dostępu do magazynu, a następnie przywróć poprzedni zestaw reguł.
  3. Użyj własnych agentów lub agentów zestawu skalowania albo zarządzanych pul DevOps .

Jak mogę ręcznie wybrać wersje narzędzi w hostowanym agencie systemu macOS?

Xcode

Jeśli używasz zadania Xcode dołączonego do usług Azure Pipelines i TFS, możesz wybrać wersję programu Xcode we właściwościach tego zadania. W przeciwnym razie, aby ręcznie ustawić wersję programu Xcode do użycia w puli agentów hostowanego systemu macOS, przed rozpoczęciem xcodebuild zadania kompilacji wykonaj ten wiersz polecenia w ramach kompilacji, zastępując numer wersji Xcode na 13.2 zgodnie z potrzebami:

/bin/bash -c "sudo xcode-select -s /Applications/Xcode_13.2.app/Contents/Developer"

Wersje programu Xcode w hostowanej puli agentów systemu macOS można znaleźć tutaj.

Mono

Aby ręcznie wybrać wersję Mono do użycia w puli agentów Hosted macOS, wykonaj ten skrypt w każdym zadaniu swojej kompilacji przed zadaniem kompilacji Mono, określając symlink z wymaganą wersją Mono:

SYMLINK=<symlink>
MONOPREFIX=/Library/Frameworks/Mono.framework/Versions/$SYMLINK
echo "##vso[task.setvariable variable=DYLD_FALLBACK_LIBRARY_PATH;]$MONOPREFIX/lib:/lib:/usr/lib:$DYLD_LIBRARY_FALLBACK_PATH"
echo "##vso[task.setvariable variable=PKG_CONFIG_PATH;]$MONOPREFIX/lib/pkgconfig:$MONOPREFIX/share/pkgconfig:$PKG_CONFIG_PATH"
echo "##vso[task.setvariable variable=PATH;]$MONOPREFIX/bin:$PATH"