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ę 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
- Obraz windows-2025 jest dostępny w wersji zapoznawczej
- Obraz macOS-12 Monterey przestał być dostępny.
- Obraz Sequoia systemu macOS-15 jest dostępny w wersji zapoznawczej
- Obraz Ubuntu-24.04 jest dostępny
- Obraz macOS-12 Monterey jest przestarzały i zostanie wycofany 3 grudnia 2024 r.
- Obraz Ubuntu-22.04 jest dostępny
- Obraz systemu macOS-14 Sonoma jest dostępny w wersji zapoznawczej
- Obraz systemu macOS-11 Big Sur jest przestarzały i zostanie wycofany 28 czerwca 2024 r.
- Wszyscy agenci hostowani przez firmę Microsoft zaczną używać programu PowerShell 7.2 LTS do programu PowerShell 7.4 LTS od 28 stycznia. Aby uzyskać więcej informacji, w tym potencjalne zmiany powodujące niezgodność, zobacz Microsoft hosted agents use PowerShell 7.4 (Agenci hostowani przez firmę Microsoft używają programu PowerShell 7.4).
- Obraz systemu macOS 13 jest ogólnie dostępny
- Od 24.04.2023 r. obraz systemu macOS 10.15 jest całkowicie nieobsługiwany.
- "Obraz "Ubuntu" 18.04 jest wycofany"
-
ubuntu-latest
obrazy używająubuntu-22.04
. - Ogólna dostępność systemu Ubuntu 22.04 dla hostowanych pul usługi Azure Pipelines.
- Obraz Ubuntu 18.04 zacznie być wycofywany 8/8/22 i będzie całkowicie niewspierany od 4/1/2023.
- Obraz systemu macOS 10.15 zostanie wycofany 31.05.2022 i nie będzie wspierany od 01.12.2022.
-
windows-latest
obrazy używająwindows-2022
. -
macOS-latest
obrazy używająmacOS-11
. - Hostowany obraz systemu Ubuntu 16.04 został usunięty we wrześniu 2021 r.
- Obraz systemu Windows Server 2016 z programem Visual Studio 2017 jest przestarzały i został wycofany 30 czerwca 2022 r. Przeczytaj ten wpis na blogu na temat identyfikowania potoków przy użyciu przestarzałych obrazów.
- W grudniu 2021 r. usunęliśmy następujący obraz hostowany w usłudze Azure Pipelines:
- macOS X Mojave 10.14 (
macOS-10.14
)
- macOS X Mojave 10.14 (
- W marcu 2020 r. usunęliśmy następujące obrazy hostowane w usłudze Azure Pipelines:
- Windows Server 2012R2 z programem Visual Studio 2015 (
vs2015-win2012r2
) - macOS X High Sierra 10.13 (
macOS-10.13
) - Windows Server Core 1803 (
win1803
)
- Windows Server 2012R2 z programem Visual Studio 2015 (
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.
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
- Zidentyfikuj region organizacji w ustawieniach organizacji.
- Zidentyfikuj lokalizację geograficzną platformy Azure dla regionu organizacji.
- 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.
- 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.
- Ustaw w potokach zmienną o nazwie
System.PreferGitFromPath
natrue
. - W przypadku własnych agentów można utworzyć plik o nazwie .env w katalogu głównym agenta i dodać wiersz zawierający
System.PreferGitFromPath=true
do pliku. Aby uzyskać więcej informacji, zobacz Jak mogę ustawić różne zmienne środowiskowe dla każdego pojedynczego agenta?
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:
W repozytorium można utworzyć nowy problem, w którym śledzimy żądania dotyczące dodatkowego oprogramowania. Kontaktowanie się z pomocą techniczną nie może pomóc w skonfigurowaniu 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 wykorzystywanymi do uruchamiania potoków.
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ść:
- Zarządzaj regułami sieci ip dla konta usługi Azure Storage i dodaj zakresy adresów IP dla hostowanych agentów.
- 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ł.
- 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"