Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wymagania umożliwiają procesom określenie, jakie zdolności muszą być dostępne w agencie, aby Azure DevOps mogło wysłać zadanie z procesu do agenta. W zarządzanych pulach DevOps żądania, takie jak ImageOverride, działają tak samo jak żądania w Azure Pipelines, gdzie zadanie potoku jest kierowane do określonego agenta, który posiada atrybuty zgodne z żądaniem, ale niektóre żądania, takie jak WorkFolder i Priority, mogą być używane do konfigurowania atrybutów agenta. W tym artykule opisano wymagania dostępne w zarządzanych pulach DevOps i sposób ich używania.
Folder roboczy
Domyślny folder roboczy agentów jest zwykle na dysku WorkFolder
w potoku. Jeśli masz pulę zachowującą stan z uruchomionym agentem, który spełnia twoje zapotrzebowanie, przepływ pracy zostanie wysłany do tego agenta. Jeśli nie używasz pul stanowych lub nie ma agenta uruchomionego z tym WorkFolder
programem , zostanie uruchomiony nowy agent i skonfigurowany do korzystania z wyznaczonego WorkFolder
elementu . Określony katalog zostanie utworzony, jeśli nie istnieje. Jeśli nazwa ścieżki dla WorkFolder
elementu jest nieprawidłowa, zostanie użyty domyślny folder roboczy agenta.
WorkFolder
Skonfiguruj zapotrzebowanie w demands
sekcji potoku, aby ustawić folder roboczy agenta. Jeśli używasz dołączonego dysku danych i chcesz, aby folder roboczy agenta znajdował się na tym dysku, użyj WorkFolder
i określ folder na dysku danych jako katalog roboczy agenta.
Domyślny folder roboczy agentów systemu Windows jest zazwyczaj na dysku D:\ i może być przywoływany w potoku przy użyciu Agent.WorkFolder
.
W poniższym przykładzie WorkFolder
ustawiono jako dołączony dysk danych, który ma przypisaną literę F
.
pool:
name: fabrikam-managed-pool # Name of Managed DevOps Pool
demands:
- WorkFolder -equals f:\custom-work-folder
Priorytet
Priority
określa priorytet zadania. Zadania o wyższym priorytcie są wykonywane najpierw. Prawidłowe wartości to: High
, , Medium
Low
. Domyślna wartość to Medium
.
Priority
Skonfiguruj zapotrzebowanie w demands
sekcji potoku.
pool:
name: fabrikam-dev-pool # Name of Managed DevOps Pool
demands:
- Priority -equals Low
Zadania są wybierane do uruchamiania z kolejki w kolejności priorytetu. Na przykład masz pulę z maksymalnym ustawieniem agentów wynoszącym 10 i potokiem skonfigurowanym do korzystania z tej puli. Zasób już uruchamia 10 potoków, a 20 kolejnych czeka w kolejce. Jeśli masz do uruchomienia potok priorytetowy, na przykład w celu wdrożenia szybkiej poprawki, zwykle zostanie uruchomiony po zakończeniu 10 uruchomionych potoków i 20 potoków w kolejce. Jeśli ustawisz priorytet na wysoki podczas kolejkowania swojej ścieżki poprawek, otrzyma agenta i zostanie uruchomiony przed 20 potokami już zakolejkowanymi.
Jeśli wiele zadań jest jednocześnie w kolejce, możliwe, że zadanie o niższym priorytcie zostanie uruchomione przed zadaniem o wyższym priorytcie.
W przypadku pojedynczego potoku z wieloma zadaniami:
- Jeśli potok ma zależności definiujące zadania sekwencyjne, zadania sekwencyjne są uruchamiane w kolejności określonej przez potok niezależnie od ustawienia priorytetu dla każdego zadania.
- Jeśli potok ma wiele zadań skonfigurowanych do równoległego uruchamiania (domyślne ustawienie dla potoków YAML), zadania są kolejkowane w tym samym czasie, a zadania w potoku o niższym priorytecie mogą być uruchamiane przed zadaniami w potoku o wyższym priorytecie.
NadpisanieObrazu
Jeśli masz wiele obrazów w puli, możesz skonfigurować potoki tak, aby używały określonego obrazu, korzystając z ImageOverride
wymagania i podając alias obrazu do użycia. Jeśli używasz obrazu usługi Azure Pipelines, możesz użyć wstępnie zdefiniowanego aliasu. W przypadku wszystkich innych obrazów należy skonfigurować własne aliasy.
Ważne
Jeśli masz wiele obrazów w swojej puli i nie stosujesz wymagań w potokach do wyznaczenia obrazu, potoki są uruchamiane przy użyciu pierwszego obrazu na liście w tej puli. Kolejność obrazów w puli można zmienić, zmieniając kolejność obrazów na liście w images
fabricProfile
sekcji (jeśli używasz szablonów) lub porządkując obrazy na liście obrazów w witrynie Azure Portal przy użyciu przeciągania i upuszczania.
W poniższym przykładzie potok skonfigurowano do uruchomienia przy użyciu obrazu skonfigurowanego z aliasem ubuntu-24.04-gen2
.
pool:
name: fabrikam-dev-pool # Name of Managed DevOps Pool
demands:
- ImageOverride -equals ubuntu-24.04-gen2
Ważne
Nie umieszczaj cudzysłowów wokół nazwy aliasu w ImageOverride
żądaniu, nawet jeśli zawiera spacje w nazwie.
ImageVersionOverride
Jeśli chcesz użyć określonej wersji obrazu zamiast wersji wskazanej w konfiguracji obrazu, możesz użyć żądania ImageVersionOverride
. Można na przykład użyć jej do zweryfikowania nowej wersji obrazu przed podwyższeniem jej do najnowszej wersji obrazu.
Ważne
Jeśli używasz ImageVersionOverride
do określenia innej wersji obrazu niż skonfigurowana w ustawieniach puli, każdy agent zostaje uruchomiony na żądanie z użyciem określonej wersji obrazu.
Agenci rezerwowi są wdrażani przy użyciu wersji obrazów określonych w konfiguracji puli, więc jeśli używasz , agenci rezerwowi nie będą zgodni z tą wersją i zostanie uruchomiony nowy agent.
ImageVersionOverride
Skonfiguruj zapotrzebowanie w demands
sekcji potoku. W poniższym przykładzie określono element ImageVersionOverride
o wartości 20250427.1.0
.
pool:
name: fabrikam-dev-pool # Name of Managed DevOps Pool
demands:
- ImageVersionOverride -equals 20250427.1.0
Wskazówka
Jeśli uważasz, że pipeline kończy się niepowodzeniem z powodu aktualizacji obrazu, postępuj zgodnie z procedurą w temacie Rozwiązywanie problemów — sprawdź, czy wystąpiła aktualizacja obrazu.
Dostosowane Możliwości
Jeśli masz pule z zachowaniem stanu i chcesz uruchomić zadanie na określonym uruchomionym wystąpieniu agenta, możesz użyć żądania CustomCapabilities
.
Ważne
Zapotrzebowanie CustomCapabilities
dotyczy tylko agentów w pulach stanowych. Gdy używasz pul bezstanowych, otrzymujesz nowy obraz agenta dla każdego zadania.
Po określeniu CustomCapabilities
zapotrzebowania w potoku, jeśli jakikolwiek potok o tym samym zapotrzebowaniu został uruchomiony wcześniej, a agent stanowy, który uruchomił potok, będzie nadal w trybie online, ten agent będzie używany do uruchamiania potoku. Jeśli żaden agent online nie odpowiada wymaganiom CustomCapabilities
, agent jest przydzielany z puli, oznaczany wymaganiami CustomCapabilities
i używany do uruchamiania potoku. Kolejne zadania z tym samym CustomCapabilities
zapotrzebowaniem będą używać tego oznakowanego wystąpienia agenta do uruchamiania zadań tak długo, jak ten agent jest w trybie online.
W poniższym przykładzie pipeline jest uruchamiany przy użyciu windows-2022
obrazu usługi Azure Pipelines w stanie puli. Jeśli agent online jest gotowy do akceptowania zadań i jest atrybutem CustomCapabilities
oznaczony (przez pipeline, który został wcześniej uruchomiony na agencie), ten agent będzie używany do uruchamiania tego pipeline. Jeśli żaden agent online nie odpowiada temu zapotrzebowaniu, zadanie zostanie uruchomione przez następnego dostępnego agenta, a agent ten zostanie otagowany za pomocą atrybutu CustomCapabilities
. Przyszłe uruchomienia potoku z tym wymaganiem będą korzystać z tego agenta, jeśli jest online i gotowy do zadań.
pool:
name: fabrikam-dev-pool # Name of Managed DevOps Pool
demands:
- ImageOverride -equals windows-2022
- CustomCapabilities -equals MyCustomValue
Na przykład masz duże repozytorium, którego sklonowanie zajmuje dużo czasu, i masz wiele pipeline'ów, które działają z tego repozytorium. Użycie tego samego CustomCapabilities
żądania w potokach może pomóc szybciej uruchomić drugi potok, korzystając z agenta z już sklonowanym repozytorium.