Używanie wstępnie zdefiniowanych zmiennych

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

Zmienne to wygodny sposób uzyskiwania znaczących elementów informacji dot. różnych części potoku. Jest to lista wstępnie zdefiniowanych zmiennych, z których możesz skorzystać. Może istnieć kilka innych wstępnie zdefiniowanych zmiennych, ale są one głównie przeznaczone do użytku wewnętrznego.

Te zmienne są automatycznie ustawiane przez system i tylko do odczytu. (Wyjątki to Build.Clean i System.Debug).

W potokach YAML można odwoływać się do wstępnie zdefiniowanych zmiennych jako zmiennych środowiskowych. Na przykład zmienna Build.ArtifactStagingDirectory staje się zmienną BUILD_ARTIFACTSTAGINGDIRECTORY.

W przypadku potoków klasycznych można używać zmiennych wydania w zadaniach wdrażania w celu udostępniania typowych informacji (na przykład nazwy środowiska, grupy zasobów itp.).

Dowiedz się więcej o pracy ze zmiennymi.

Build.Clean

Jest to przestarzała zmienna, która modyfikuje sposób czyszczenia źródła przez agenta kompilacji. Aby dowiedzieć się, jak wyczyścić źródło, zobacz Czyszczenie repozytorium lokalnego na agencie.

System.AccessToken

System.AccessToken to specjalna zmienna, która przenosi token zabezpieczający używany przez uruchomioną kompilację.

W języku YAML należy jawnie mapować System.AccessToken potok przy użyciu zmiennej. Można to zrobić na poziomie kroku lub zadania:

steps:
  - bash: echo This script could use $SYSTEM_ACCESSTOKEN
    env:
      SYSTEM_ACCESSTOKEN: $(System.AccessToken)
  - powershell: | 
      Write-Host "This is a script that could use $env:SYSTEM_ACCESSTOKEN"
      Write-Host "$env:SYSTEM_ACCESSTOKEN = $(System.AccessToken)"
    env:
      SYSTEM_ACCESSTOKEN: $(System.AccessToken)

Domyślny zakres można skonfigurować przy System.AccessToken użyciu zakresu autoryzacji zadania kompilacji.

System.Debug

Aby uzyskać bardziej szczegółowe dzienniki w celu debugowania problemów z potokiem, zdefiniuj System.Debug je i ustaw na truewartość .

  1. Edytuj potok.

  2. Wybierz pozycję Zmienne.

  3. Dodaj nową zmienną o nazwie System.Debug i wartości true.

    Ustaw wartość Debugowanie systemu na true

  4. Zapisz nową zmienną.

Ustawienie System.Debug umożliwiające true skonfigurowanie pełnych dzienników dla wszystkich przebiegów. Można również skonfigurować pełne dzienniki dla pojedynczego przebiegu przy użyciu pola wyboru Włącz diagnostykę systemu.

Można również ustawić System.Debugtrue jako zmienną w potoku lub szablonie.

variables:
  system.debug: 'true'

Gdy System.Debug jest ustawiona truewartość , dla dodatkowej zmiennej o nazwie Agent.Diagnostic ustawiono wartość true. Gdy Agent.Diagnostic wartość to true, agent zbiera więcej dzienników, których można użyć do rozwiązywania problemów z siecią dla własnych agentów. Aby uzyskać więcej informacji, zobacz Diagnostyka sieci dla własnych agentów.

Uwaga

Zmienna Agent.Diagnostic jest dostępna w wersji 2.200.0 i nowszej.

Aby uzyskać więcej informacji, zobacz Przeglądanie dzienników w celu diagnozowania problemów z potokiem.

Zmienne agenta (DevOps Services)

Uwaga

Zmienne agenta można używać jako zmiennych środowiskowych w skryptach i jako parametrów w zadaniach kompilacji. Nie można ich użyć do dostosowania numeru kompilacji lub zastosowania etykiety lub tagu kontroli wersji.

Zmienna opis
Agent.BuildDirectory Ścieżka lokalna agenta, w którym są tworzone wszystkie foldery dla danego potoku kompilacji. Ta zmienna ma taką samą wartość jak Pipeline.Workspace. Na przykład: /home/vsts/work/1.
Agent.ContainerMapping Mapowanie nazw zasobów kontenera w języku YAML na ich identyfikatory platformy Docker w czasie wykonywania.

Przykład jest następujący w tabeli.
Agent.HomeDirectory Katalog, w którym jest zainstalowany agent. Zawiera oprogramowanie agenta. Na przykład: c:\agent.
Agent.Id Identyfikator agenta.
Agent.JobName Nazwa uruchomionego zadania. Zwykle będzie to "Zadanie"; lub "__default", ale w scenariuszach obejmujących wiele konfiguracji będzie konfiguracją.
Agent.JobStatus Stan kompilacji.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (częściowo zakończone powodzeniem)
Zmienna środowiskowa powinna być przywołyowana jako AGENT_JOBSTATUS. Starsze agent.jobstatus są dostępne w celu zapewnienia zgodności z poprzednimi wersjami.
Agent.MachineName Nazwa maszyny, na której zainstalowano agenta.
Agent.Name Nazwa agenta zarejestrowanego w puli.

Jeśli używasz własnego agenta, ta nazwa jest określona przez Ciebie. Zobacz agentów.
Agent.OS System operacyjny hosta agenta. Prawidłowe wartości to:
  • Windows_NT
  • Darwin
  • Linux
Jeśli korzystasz z kontenera, host agenta i kontener mogą działać w różnych systemach operacyjnych.
Agent.OSArchitecture Architektura procesora systemu operacyjnego hosta agenta. Prawidłowe wartości to:
  • X86
  • X64
  • ARM
Agent.TempDirectory Folder tymczasowy, który jest czyszczony po każdym zadaniu potoku. Ten katalog jest używany przez zadania, takie jak zadanie interfejsu wiersza polecenia platformy .NET Core do przechowywania tymczasowych elementów, takich jak wyniki testów przed ich opublikowaniem.

Na przykład: /home/vsts/work/_temp dla systemu Ubuntu.
Agent.ToolsDirectory Katalog używany przez zadania, takie jak Instalator narzędzi node i Używanie wersji języka Python do przełączania się między wieloma wersjami narzędzia.

Te zadania dodają narzędzia z tego katalogu do programu , aby PATH kolejne kroki kompilacji mogły ich używać.

Dowiedz się więcej o zarządzaniu tym katalogiem na własnym agencie.
Agent.WorkFolder Katalog roboczy dla tego agenta.

Na przykład: c:\agent_work.

Uwaga: ten katalog nie ma gwarancji, że można zapisywać według zadań potoku (na przykład w przypadku zamapowania na kontener)

Przykład elementu Agent.ContainerMapping:

{
  "one_container": {
    "id": "bdbb357d73a0bd3550a1a5b778b62a4c88ed2051c7802a0659f1ff6e76910190"
  },
  "another_container": {
    "id": "82652975109ec494876a8ccbb875459c945982952e0a72ad74c91216707162bb"
  }
}

Zmienne kompilacji (DevOps Services)

Zmienna opis Dostępne w szablonach?
Build.ArtifactStagingDirectory Ścieżka lokalna agenta, do którego są kopiowane wszystkie artefakty przed wypchnięciem do ich miejsca docelowego. Na przykład: c:\agent_work\1\a.

Typowym sposobem użycia tego folderu jest opublikowanie artefaktów kompilacji za pomocą zadań Kopiowanie plików i Publikowanie artefaktów kompilacji .

Uwaga: Element Build.ArtifactStagingDirectory i Build.StagingDirectory są zamienne. Ten katalog jest czyszczony przed każdą nową kompilacją, więc nie trzeba go czyścić samodzielnie.

Zobacz Artefakty w usłudze Azure Pipelines.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.BuildId Identyfikator rekordu dla ukończonej kompilacji. Nie.
Build.BuildNumber Nazwa ukończonej kompilacji, znana również jako numer uruchomienia. Możesz określić , co znajduje się w tej wartości.

Typowym zastosowaniem tej zmiennej jest uczynienie jej częścią formatu etykiety określonego na karcie repozytorium.

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.BuildUri Identyfikator URI kompilacji. Na przykład: vstfs:///Build/Build/1430.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.BinariesDirectory Ścieżka lokalna agenta, którego można użyć jako folderu wyjściowego dla skompilowanych plików binarnych.

Domyślnie nowe potoki kompilacji nie są skonfigurowane do czyszczenia tego katalogu. Możesz zdefiniować kompilację, aby wyczyścić ją na karcie Repozytorium.

Na przykład: c:\agent_work\1\b.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.ContainerId Identyfikator kontenera dla artefaktu. Po przekazaniu artefaktu w potoku jest dodawany do kontenera specyficznego dla tego konkretnego artefaktu. Nie.
Build.CronSchedule.DisplayName Harmonogram displayName cron, który wyzwolił uruchomienie potoku. Ta zmienna jest ustawiana tylko wtedy, gdy uruchomienie potoku jest wyzwalane przez zaplanowany wyzwalacz YAML. Aby uzyskać więcej informacji, zobacz schedules.cron definition - Build.CronSchedule.DisplayName variable Tak
Build.DefinitionName Nazwa potoku kompilacji.

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem.
Tak
Build.DefinitionVersion Wersja potoku kompilacji. Tak
Build.QueuedBy Zobacz "Jak są ustawione zmienne tożsamości?".

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem.
Tak
Build.QueuedById Zobacz "Jak są ustawione zmienne tożsamości?". Tak
Build.Reason Zdarzenie, które spowodowało uruchomienie kompilacji.
  • Manual: Użytkownik ręcznie w kolejce kompilacji.
  • IndividualCI: Ciągła integracja (CI) wyzwalana przez wypychanie usługi Git lub ewidencjonowania kontroli wersji serwera TEAMVC.
  • BatchedCI: Ciągła integracja (CI) wyzwalana przez wypychanie usługi Git lub ewidencjonowania kontroli wersji serwera Team Foundation, a zmiany w usłudze Batch zostały wybrane.
  • Schedule: Wyzwalacz zaplanowany .
  • ValidateShelveset: Użytkownik ręcznie w kolejce kompilacji określonego zestawu półek TFVC.
  • CheckInShelveset: Wyzwalacz zaewidencjonowany z bramą .
  • PullRequest: Kompilacja została wyzwolona przez zasady gałęzi Git, które wymagają kompilacji.
  • BuildCompletion: Kompilacja została wyzwolona przez inną kompilację
  • ResourceTrigger: Kompilacja została wyzwolona przez wyzwalacz zasobu lub została wyzwolona przez inną kompilację.
Zobacz Build pipeline triggers (Wyzwalacze potoku kompilacji), Improve code quality with branch policies (Poprawianie jakości kodu za pomocą zasad gałęzi).
Tak
Build.Repository.Clean Wartość wybrana dla opcji Wyczyść w ustawieniach repozytorium źródłowego.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.LocalPath Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s.

Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium.

Ważna uwaga: jeśli wyewidencjonujesz tylko jedno repozytorium Git, ta ścieżka jest dokładną ścieżką do kodu.

Jeśli wyewidencjonujesz wiele repozytoriów, zachowanie jest następujące (i może się różnić od wartości zmiennej Build.SourcesDirectory):
  • Jeśli krok wyewidencjonowania dla repozytorium samodzielnego (podstawowego) nie ma zdefiniowanej niestandardowej ścieżki wyewidencjonowania lub ścieżka wyewidencjonowania jest domyślną ścieżką $(Pipeline.Workspace)/s/&<RepoName> do wyewidencjonowania dla repozytorium samodzielnego, wartość tej zmiennej zostanie przywrócona do wartości domyślnej, czyli $(Pipeline.Workspace)/s.
  • Jeśli krok wyewidencjonowania dla repozytorium samodzielnego (podstawowego) ma zdefiniowaną niestandardową ścieżkę wyewidencjonowania (i nie jest to ścieżka domyślna wielokrotnego wyewidencjonowania), ta zmienna zawiera dokładną ścieżkę do repozytorium samodzielnego.
Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.ID Unikatowy identyfikator repozytorium.

Nie zmieni się to, nawet jeśli nazwa repozytorium nie zostanie zmieniona.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.Name Nazwa repozytorium wyzwalającego.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.Provider Typ repozytorium wyzwalającego.
Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.Tfvc.Workspace Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation. Nazwa obszaru roboczego tfVC używanego przez agenta kompilacji.

Jeśli na przykład element Agent.BuildDirectory to c:\agent_work\12 , a Agent.Id to 8, może to być nazwa obszaru roboczego: ws_12_8

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.Uri Adres URL repozytorium wyzwalającego. Na przykład:
Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.RequestedFor Zobacz "Jak są ustawione zmienne tożsamości?".

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem.
Tak
Build.RequestedForEmail Zobacz "Jak są ustawione zmienne tożsamości?". Tak
Build.RequestedForId Zobacz "Jak są ustawione zmienne tożsamości?". Tak
Build.SourceBranch Gałąź wyzwalającego repozytorium, dla którego została utworzona kompilacja, została utworzona w kolejce. Kilka przykładów:
  • Gałąź repozytorium Git: refs/heads/main
  • Żądanie ściągnięcia repozytorium Git: refs/pull/1/merge
  • Gałąź repozytorium TFVC: $/teamproject/main
  • Zaewidencjonowane zaewidencjonowane repozytorium TFVC: Gated_2016-06-06_05.20.51.4369;username@live.com
  • Kompilacja zestawu półek repozytorium TFVC: myshelveset;username@live.com
  • Gdy potok zostanie wyzwolony przez tag: refs/tags/your-tag-name
W przypadku używania tej zmiennej w formacie numeru kompilacji znaki ukośnika (/) są zastępowane znakami _podkreślenia ).

Uwaga: W programie TFVC, jeśli uruchamiasz kompilację zaewidencjonowania bramkowego lub ręcznie kompilujesz zestaw półek, nie możesz użyć tej zmiennej w formacie numeru kompilacji.
Tak
Build.SourceBranchName Nazwa gałęzi w repozytorium wyzwalającym, dla którego została utworzona kompilacja, została w kolejce.
  • Gałąź repozytorium Git, żądanie ściągnięcia lub tag: ostatni segment ścieżki w dokumentacji. Na przykład w refs/heads/main tej wartości jest .main W refs/heads/feature/tools tej wartości jest .tools W refs/tags/your-tag-name tej wartości jest .your-tag-name
  • Gałąź repozytorium TFVC: ostatni segment ścieżki w ścieżce serwera głównego dla obszaru roboczego. Na przykład w $/teamproject/main tej wartości jest .main
  • Repozytorium TFVC ogrodzonych zaewidencjonowanych lub półek kompilacji jest nazwą zestawu na półce. Na przykład: Gated_2016-06-06_05.20.51.4369;username@live.com lub myshelveset;username@live.com.
Uwaga: W programie TFVC, jeśli uruchamiasz kompilację zaewidencjonowania bramkowego lub ręcznie kompilujesz zestaw półek, nie możesz użyć tej zmiennej w formacie numeru kompilacji.
Tak
Build.SourcesDirectory Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s.

Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki.

Ważna uwaga: jeśli wyewidencjonujesz tylko jedno repozytorium Git, ta ścieżka jest dokładną ścieżką do kodu. Jeśli wyewidencjonujesz wiele repozytoriów, zostanie przywrócona jego wartość domyślna, czyli $(Pipeline.Workspace)/s, nawet jeśli repozytorium samodzielne (podstawowe) zostanie wyewidencjonowane do niestandardowej ścieżki innej niż domyślna ścieżka $(Pipeline.Workspace)/s/<RepoName> wielokrotnego wyewidencjonowania (w tym względzie zmienna różni się od zachowania zmiennej Build.Repository.LocalPath).

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.SourceVersion Najnowsza zmiana kontroli wersji repozytorium wyzwalającego uwzględnionego w tej kompilacji.
Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Tak
Build.SourceVersionMessage Komentarz zatwierdzenia lub zestawu zmian dla repozytorium wyzwalającego. Obcinamy komunikat do pierwszego wiersza lub 200 znaków, w zależności od tego, co jest krótsze.

Odpowiada Build.SourceVersionMessage komunikatowi w Build.SourceVersion zatwierdzeniu. Zatwierdzenie Build.SourceVersion kompilacji żądania ściągnięcia to zatwierdzenie scalania (a nie zatwierdzenie w gałęzi źródłowej).

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Ponadto ta zmienna jest dostępna tylko na poziomie kroku i nie jest dostępna na poziomach zadania lub etapu (czyli komunikat nie jest wyodrębniany do momentu uruchomienia zadania i wyewidencjonowania kodu).

Uwaga: ta zmienna jest dostępna w programie TFS 2015.4.

Uwaga: zmienna Build.SourceVersionMessage nie działa z klasycznymi potokami kompilacji w repozytoriach Bitbucket, gdy usługa Batch zmienia się, gdy kompilacja jest w toku .
Nie.
Build.StagingDirectory Ścieżka lokalna agenta, do którego są kopiowane wszystkie artefakty przed wypchnięciem do ich miejsca docelowego. Na przykład: c:\agent_work\1\a.

Typowym sposobem użycia tego folderu jest opublikowanie artefaktów kompilacji za pomocą zadań Kopiowanie plików i Publikowanie artefaktów kompilacji .

Uwaga: Element Build.ArtifactStagingDirectory i Build.StagingDirectory są zamienne. Ten katalog jest czyszczony przed każdą nową kompilacją, więc nie trzeba go czyścić samodzielnie.

Zobacz Artefakty w usłudze Azure Pipelines.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.Git.SubmoduleCheckout Wartość wybrana dla modułów podrzędnych Wyewidencjonuj na karcie repozytorium. Po wyewidencjonowaniu wielu repozytoriów ta wartość śledzi ustawienie wyzwalającego repozytorium.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.SourceTfvcShelveset Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation.

Jeśli korzystasz z ogrodzonych kompilacji lub kompilacji na półce, jest to ustawione na nazwę zestawu półek, który tworzysz.

Uwaga: ta zmienna zwraca nieprawidłową wartość do użycia w kompilacji w formacie numeru kompilacji.
Nie.
Build.TriggeredBy.BuildId Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość BuildID kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Jeśli wyzwalasz potok YAML przy użyciu metody resources, należy zamiast tego użyć zmiennych zasobów.
Nie.
Build.TriggeredBy.DefinitionId Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość DefinitionID kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Jeśli wyzwalasz potok YAML przy użyciu metody resources, należy zamiast tego użyć zmiennych zasobów.
Nie.
Build.TriggeredBy.DefinitionName Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na nazwę potoku kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Jeśli wyzwalasz potok YAML przy użyciu metody resources, należy zamiast tego użyć zmiennych zasobów.
Nie.
Build.TriggeredBy.BuildNumber Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na liczbę kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Jeśli wyzwalasz potok YAML przy użyciu metody resources, należy zamiast tego użyć zmiennych zasobów.
Nie.
Build.TriggeredBy.ProjectID Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na identyfikator projektu zawierającego kompilację wyzwalającą. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Jeśli wyzwalasz potok YAML przy użyciu metody resources, należy zamiast tego użyć zmiennych zasobów.
Nie.
Common.TestResultsDirectory Ścieżka lokalna agenta, w którym są tworzone wyniki testu. Na przykład: c:\agent_work\1\TestResults.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.

Zmienne potoku (DevOps Services)

Zmienna opis
Pipeline.Workspace Katalog obszaru roboczego dla określonego potoku. Ta zmienna ma taką samą wartość jak Agent.BuildDirectory. Na przykład /home/vsts/work/1.

Napiwek

Jeśli używasz klasycznych potoków wydania, możesz użyć klasycznych wydań i zmiennych artefaktów do przechowywania i uzyskiwania dostępu do danych w całym potoku.

Zmienne zadania wdrożenia (DevOps Services)

Te zmienne są ograniczone do określonego zadania wdrożenia i zostaną rozwiązane tylko w czasie wykonywania zadania.

Zmienna opis
Environment.Name Nazwa środowiska docelowego w zadaniu wdrażania, aby uruchomić kroki wdrażania i zarejestrować historię wdrożenia. Na przykład smarthotel-dev.
Environment.Id Identyfikator środowiska docelowego w zadaniu wdrażania. Na przykład 10.
Environment.ResourceName Nazwa określonego zasobu w środowisku docelowym w zadaniu wdrażania, aby uruchomić kroki wdrażania i zarejestrować historię wdrożenia. Na przykład bookings jest to przestrzeń nazw Kubernetes, która została dodana jako zasób do środowiska smarthotel-dev.
Environment.ResourceId Identyfikator określonego zasobu w środowisku docelowym w zadaniu wdrażania, aby uruchomić kroki wdrażania. Na przykład 4.
Strategy.Name Nazwa strategii wdrażania: canary, runOncelub rolling.
Strategy.CycleName Bieżąca nazwa cyklu we wdrożeniu. Opcje to PreIteration, Iterationlub PostIteration.

Zmienne systemowe (DevOps Services)

Zmienna opis Dostępne w szablonach?
System.AccessToken Użyj tokenu OAuth, aby uzyskać dostęp do interfejsu API REST.

Użyj elementu System.AccessToken ze skryptów YAML.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Tak
System.CollectionId Identyfikator GUID kolekcji TFS lub organizacji usługi Azure DevOps. Tak
System.CollectionUri Identyfikator URI kolekcji TFS lub organizacji usługi Azure DevOps. Na przykład: https://dev.azure.com/fabrikamfiber/. Tak
System.DefaultWorkingDirectory Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s.

Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Tak
System.DefinitionId Identyfikator potoku kompilacji. Tak
System.HostType Ustaw wartość na build , jeśli potok jest kompilacją. W przypadku wydania wartości są przeznaczone deployment dla zadania grupy wdrożenia, gates podczas oceny bram i release dla innych zadań (agenta i bez agenta). Tak
System.JobAttempt Ustaw wartość 1 przy pierwszej próbie wykonania tego zadania i zwiększa się za każdym razem, gdy zadanie jest ponawiane. Nie.
System.JobDisplayName Czytelna dla człowieka nazwa nadana pracy. Nie.
System.JobId Unikatowy identyfikator pojedynczej próby pojedynczego zadania. Wartość jest unikatowa dla bieżącego potoku. Nie.
System.JobName Nazwa zadania, zwykle używana do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. Nie.
System.PhaseAttempt Ustaw wartość 1 przy pierwszej próbie wykonania tej fazy i zwiększa się za każdym razem, gdy zadanie jest ponawiane.

Uwaga: "Faza" jest głównie nadmiarową koncepcją, która reprezentuje czas projektowania zadania (natomiast zadanie było wersją środowiska uruchomieniowego fazy). W większości usunęliśmy koncepcję "fazy" z usługi Azure Pipelines. Zadania macierzy i wielokonfiguracji są jedynym miejscem, w którym "faza" nadal różni się od "zadania". Jedna faza może utworzyć wystąpienie wielu zadań, które różnią się tylko swoimi danymi wejściowymi.
Nie.
System.PhaseDisplayName Nazwa czytelna dla człowieka nadana fazie. Nie.
System.PhaseName Identyfikator oparty na ciągach dla zadania, zwykle używany do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. Nie.
System.PlanId Identyfikator oparty na ciągu dla pojedynczego przebiegu potoku. Nie.
System.PullRequest.IsFork Jeśli żądanie ściągnięcia pochodzi z rozwidlenia repozytorium, ta zmienna ma wartość True.

W przeciwnym razie ustawiono wartość False.
Tak
System.PullRequest.PullRequestId Identyfikator żądania ściągnięcia, który spowodował tę kompilację. Na przykład: 17. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). Nie.
System.PullRequest.PullRequestNumber Liczba żądań ściągnięcia, które spowodowało tę kompilację. Ta zmienna jest wypełniana dla żądań ściągnięcia z usługi GitHub, które mają inny identyfikator żądania ściągnięcia i numer żądania ściągnięcia. Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. Nie.
System.PullRequest.targetBranchName Nazwa gałęzi docelowej dla żądania ściągnięcia. Ta zmienna może służyć w potoku do warunkowego wykonywania zadań lub kroków na podstawie gałęzi docelowej żądania ściągnięcia. Na przykład możesz chcieć wyzwolić inny zestaw testów lub narzędzi do analizy kodu w zależności od gałęzi, w której zmiany są scalane. Nie.
System.PullRequest.SourceBranch Gałąź, która jest przeglądana w żądaniu ściągnięcia. Na przykład: refs/heads/users/raisa/new-feature dla usługi Azure Repos. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. Nie.
System.PullRequest.SourceCommitId Zatwierdzenie, które jest przeglądane w żądaniu ściągnięcia. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi.
System.PullRequest.SourceRepositoryURI Adres URL repozytorium, który zawiera żądanie ściągnięcia. Na przykład: https://dev.azure.com/ouraccount/_git/OurProject. Nie.
System.PullRequest.TargetBranch Gałąź, która jest elementem docelowym żądania ściągnięcia. Na przykład: refs/heads/main gdy repozytorium znajduje się w usłudze Azure Repos i main gdy repozytorium znajduje się w usłudze GitHub. Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powodu żądania ściągnięcia usługi Git objętego zasadami gałęzi. Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. Nie.
System.StageAttempt Ustaw wartość 1 przy pierwszej próbie wykonania tego etapu i zwiększa się za każdym razem, gdy zadanie jest ponawiane. Nie.
System.StageDisplayName Czytelna dla człowieka nazwa nadana etapowi. Nie.
System.StageName Identyfikator oparty na ciągach dla etapu, zwykle używany do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. Nie.
System.TeamFoundationCollectionUri Identyfikator URI kolekcji TFS lub organizacji usługi Azure DevOps. Na przykład: https://dev.azure.com/fabrikamfiber/.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Tak
System.TeamProject Nazwa projektu, który zawiera tę kompilację. Tak
System.TeamProjectId Identyfikator projektu, do którego należy ta kompilacja. Tak
System.TimelineId Identyfikator oparty na ciągu dla szczegółów wykonywania i dzienników pojedynczego przebiegu potoku. Nie.
TF_BUILD Ustaw wartość na True , jeśli skrypt jest uruchamiany przez zadanie kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.

Sprawdza zmienne (DevOps Services)

Zmienna opis
Checks.StageAttempt Ustaw wartość 1 przy pierwszej próbie tego etapu i zwiększa się za każdym razem, gdy etap zostanie ponowiony.

Tej zmiennej można używać tylko w ramach zatwierdzenia lub sprawdzania środowiska. Na przykład można użyć $(Checks.StageAttempt) w ramach sprawdzania wywołania interfejsu API REST.

Dodaj próbę etapu jako parametr.

Zmienne agenta (DevOps Server 2022)

Uwaga

Zmienne agenta można używać jako zmiennych środowiskowych w skryptach i jako parametrów w zadaniach kompilacji. Nie można ich użyć do dostosowania numeru kompilacji lub zastosowania etykiety lub tagu kontroli wersji.

Zmienna opis
Agent.BuildDirectory Ścieżka lokalna agenta, w którym są tworzone wszystkie foldery dla danego potoku kompilacji. Ta zmienna ma taką samą wartość jak Pipeline.Workspace. Na przykład: /home/vsts/work/1.
Agent.ContainerMapping Mapowanie nazw zasobów kontenera w języku YAML na ich identyfikatory platformy Docker w czasie wykonywania. Przykład jest następujący w tabeli.
Agent.HomeDirectory Katalog, w którym jest zainstalowany agent. Zawiera oprogramowanie agenta. Na przykład: c:\agent.
Agent.Id Identyfikator agenta.
Agent.JobName Nazwa uruchomionego zadania. Zwykle będzie to "Zadanie" lub "__default", ale w scenariuszach obejmujących wiele konfiguracji będzie konfiguracją.
Agent.JobStatus Stan kompilacji.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (częściowo zakończone powodzeniem)
Zmienna środowiskowa powinna być przywołyowana jako AGENT_JOBSTATUS. Starsze agent.jobstatus są dostępne w celu zapewnienia zgodności z poprzednimi wersjami.
Agent.MachineName Nazwa maszyny, na której zainstalowano agenta.
Agent.Name Nazwa agenta zarejestrowanego w puli.

Jeśli używasz własnego agenta, ta nazwa jest określona przez Ciebie. Zobacz agentów.
Agent.OS System operacyjny hosta agenta. Prawidłowe wartości to:
  • Windows_NT
  • Darwin
  • Linux
Jeśli korzystasz z kontenera, host agenta i kontener mogą działać w różnych systemach operacyjnych.
Agent.OSArchitecture Architektura procesora systemu operacyjnego hosta agenta. Prawidłowe wartości to:
  • X86
  • X64
  • ARM
Agent.TempDirectory Folder tymczasowy, który jest czyszczony po każdym zadaniu potoku. Ten katalog jest używany przez zadania, takie jak zadanie interfejsu wiersza polecenia platformy .NET Core do przechowywania tymczasowych elementów, takich jak wyniki testów przed ich opublikowaniem.

Na przykład: /home/vsts/work/_temp dla systemu Ubuntu.
Agent.ToolsDirectory Katalog używany przez zadania, takie jak Instalator narzędzi node i Używanie wersji języka Python do przełączania się między wieloma wersjami narzędzia.

Te zadania dodają narzędzia z tego katalogu do programu , aby PATH kolejne kroki kompilacji mogły ich używać.

Dowiedz się więcej o zarządzaniu tym katalogiem na własnym agencie.
Agent.WorkFolder Katalog roboczy dla tego agenta. Na przykład: c:\agent_work.

Uwaga: ten katalog nie ma gwarancji, że można zapisywać według zadań potoku (na przykład w przypadku mapowania na kontener).

Przykład elementu Agent.ContainerMapping:

{
  "one_container": {
    "id": "bdbb357d73a0bd3550a1a5b778b62a4c88ed2051c7802a0659f1ff6e76910190"
  },
  "another_container": {
    "id": "82652975109ec494876a8ccbb875459c945982952e0a72ad74c91216707162bb"
  }
}

Zmienne kompilacji (DevOps Server 2022)

Zmienna opis Dostępne w szablonach?
Build.ArtifactStagingDirectory Ścieżka lokalna agenta, do którego są kopiowane wszystkie artefakty przed wypchnięciem do ich miejsca docelowego. Na przykład: c:\agent_work\1\a.

Typowym sposobem użycia tego folderu jest opublikowanie artefaktów kompilacji za pomocą zadań Kopiowanie plików i Publikowanie artefaktów kompilacji .

Uwaga: Element Build.ArtifactStagingDirectory i Build.StagingDirectory są zamienne. Ten katalog jest czyszczony przed każdą nową kompilacją, więc nie trzeba go czyścić samodzielnie.

Zobacz Artefakty w usłudze Azure Pipelines.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.BuildId Identyfikator rekordu dla ukończonej kompilacji. Nie.
Build.BuildNumber Nazwa ukończonej kompilacji, znana również jako numer uruchomienia. Możesz określić , co znajduje się w tej wartości.

Typowym zastosowaniem tej zmiennej jest uczynienie jej częścią formatu etykiety określonego na karcie repozytorium.

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.BuildUri Identyfikator URI kompilacji. Na przykład: vstfs:///Build/Build/1430.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.BinariesDirectory Ścieżka lokalna agenta, którego można użyć jako folderu wyjściowego dla skompilowanych plików binarnych.

Domyślnie nowe potoki kompilacji nie są skonfigurowane do czyszczenia tego katalogu. Możesz zdefiniować kompilację, aby wyczyścić ją na karcie Repozytorium.

Na przykład: c:\agent_work\1\b.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.ContainerId Identyfikator kontenera dla artefaktu. Po przekazaniu artefaktu w potoku jest dodawany do kontenera specyficznego dla tego konkretnego artefaktu. Nie.
Build.CronSchedule.DisplayName Harmonogram displayName cron, który wyzwolił uruchomienie potoku. Ta zmienna jest ustawiana tylko wtedy, gdy uruchomienie potoku jest wyzwalane przez zaplanowany wyzwalacz YAML. Aby uzyskać więcej informacji, zobacz schedules.cron definition - Build.CronSchedule.DisplayName variable. Ta zmienna jest dostępna w usłudze Azure DevOps Server 2022.1 i nowszych wersjach. Tak
Build.DefinitionName Nazwa potoku kompilacji.

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem.
Tak
Build.DefinitionVersion Wersja potoku kompilacji. Tak
Build.QueuedBy Zobacz "Jak są ustawione zmienne tożsamości?".

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem.
Tak
Build.QueuedById Zobacz "Jak są ustawione zmienne tożsamości?). Tak
Build.Reason Zdarzenie, które spowodowało uruchomienie kompilacji.
  • Manual: Użytkownik ręcznie w kolejce kompilacji.
  • IndividualCI: Ciągła integracja (CI) wyzwalana przez wypychanie usługi Git lub ewidencjonowania kontroli wersji serwera TEAMVC.
  • BatchedCI: Ciągła integracja (CI) wyzwalana przez wypychanie usługi Git lub ewidencjonowania kontroli wersji serwera Team Foundation, a zmiany w usłudze Batch zostały wybrane.
  • Schedule: Wyzwalacz zaplanowany .
  • ValidateShelveset: Użytkownik ręcznie w kolejce kompilacji określonego zestawu półek TFVC.
  • CheckInShelveset: Wyzwalacz zaewidencjonowany z bramą .
  • PullRequest: Kompilacja została wyzwolona przez zasady gałęzi Git, które wymagają kompilacji.
  • BuildCompletion: Kompilacja została wyzwolona przez inną kompilację
  • ResourceTrigger: Kompilacja została wyzwolona przez wyzwalacz zasobu lub została wyzwolona przez inną kompilację.
Zobacz Build pipeline triggers (Wyzwalacze potoku kompilacji), Improve code quality with branch policies (Poprawianie jakości kodu za pomocą zasad gałęzi).
Tak
Build.Repository.Clean Wartość wybrana dla opcji Wyczyść w ustawieniach repozytorium źródłowego.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.LocalPath Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s.

Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium.

Ważna uwaga: jeśli wyewidencjonujesz tylko jedno repozytorium Git, ta ścieżka jest dokładną ścieżką do kodu. Jeśli wyewidencjonujesz wiele repozytoriów, zachowanie jest następujące (i może się różnić od wartości zmiennej Build.SourcesDirectory):
  • Jeśli krok wyewidencjonowania dla repozytorium samodzielnego (podstawowego) nie ma zdefiniowanej niestandardowej ścieżki wyewidencjonowania lub ścieżka wyewidencjonowania jest domyślną ścieżką $(Pipeline.Workspace)/s/<RepoName> do wyewidencjonowania dla repozytorium samodzielnego, wartość tej zmiennej zostanie przywrócona do wartości domyślnej, czyli $(Pipeline.Workspace)/s.
  • Jeśli krok wyewidencjonowania dla repozytorium samodzielnego (podstawowego) ma zdefiniowaną niestandardową ścieżkę wyewidencjonowania (i nie jest to ścieżka domyślna wielokrotnego wyewidencjonowania), ta zmienna zawiera dokładną ścieżkę do repozytorium samodzielnego.
Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.ID Unikatowy identyfikator repozytorium.

Nie zmieni się to, nawet jeśli nazwa repozytorium nie zostanie zmieniona.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.Name Nazwa repozytorium wyzwalającego.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.Provider Typ repozytorium wyzwalającego.
Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.Tfvc.Workspace Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation. Nazwa obszaru roboczego tfVC używanego przez agenta kompilacji.

Jeśli na przykład parametr Agent.BuildDirectory to c:\agent_work\12 , a Agent.Id to 8, nazwą obszaru roboczego może być: ws_12_8.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.Uri Adres URL repozytorium wyzwalającego. Na przykład:Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. Nie.
Build.RequestedFor Zobacz "Jak są ustawione zmienne tożsamości?".

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem.
Tak
Build.RequestedForEmail Zobacz "Jak są ustawione zmienne tożsamości?". Tak
Build.RequestedForId Zobacz "Jak są ustawione zmienne tożsamości?". Tak
Build.SourceBranch Gałąź wyzwalającego repozytorium, dla którego została utworzona kompilacja, została utworzona w kolejce. Kilka przykładów:
  • Gałąź repozytorium Git: refs/heads/main
  • Żądanie ściągnięcia repozytorium Git: refs/pull/1/merge
  • Gałąź repozytorium TFVC: $/teamproject/main
  • Zaewidencjonowane zaewidencjonowane repozytorium TFVC: Gated_2016-06-06_05.20.51.4369;username@live.com
  • Kompilacja zestawu półek repozytorium TFVC: myshelveset;username@live.com
  • Gdy potok zostanie wyzwolony przez tag: refs/tags/your-tag-name
W przypadku używania tej zmiennej w formacie numeru kompilacji znaki ukośnika (/) są zastępowane znakami _podkreślenia ).

Uwaga: W programie TFVC, jeśli uruchamiasz kompilację zaewidencjonowania bramkowego lub ręcznie kompilujesz zestaw półek, nie możesz użyć tej zmiennej w formacie numeru kompilacji.
Tak
Build.SourceBranchName Nazwa gałęzi w repozytorium wyzwalającym, dla którego została utworzona kompilacja, została w kolejce.
  • Gałąź repozytorium Git, żądanie ściągnięcia lub tag: ostatni segment ścieżki w dokumentacji. Na przykład w refs/heads/main tej wartości jest .main W refs/heads/feature/tools tej wartości jest .tools W refs/tags/your-tag-name tej wartości jest .your-tag-name
  • Gałąź repozytorium TFVC: ostatni segment ścieżki w ścieżce serwera głównego dla obszaru roboczego. Na przykład w $/teamproject/main tej wartości jest .main
  • Repozytorium TFVC ogrodzonych zaewidencjonowanych lub półek kompilacji jest nazwą zestawu na półce. Na przykład: Gated_2016-06-06_05.20.51.4369;username@live.com lub myshelveset;username@live.com.
Uwaga: W programie TFVC, jeśli uruchamiasz kompilację zaewidencjonowania bramkowego lub ręcznie kompilujesz zestaw półek, nie możesz użyć tej zmiennej w formacie numeru kompilacji.
Tak
Build.SourcesDirectory Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s.

Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki.

Ważna uwaga: jeśli wyewidencjonujesz tylko jedno repozytorium Git, ta ścieżka jest dokładną ścieżką do kodu. Jeśli wyewidencjonujesz wiele repozytoriów, zostanie przywrócona jego wartość domyślna, czyli $(Pipeline.Workspace)/s, nawet jeśli repozytorium samodzielne (podstawowe) zostanie wyewidencjonowane do niestandardowej ścieżki innej niż domyślna ścieżka $(Pipeline.Workspace)/s/<RepoName> wielokrotnego wyewidencjonowania (w tym względzie zmienna różni się od zachowania zmiennej Build.Repository.LocalPath).

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.SourceVersion Najnowsza zmiana kontroli wersji repozytorium wyzwalającego uwzględnionego w tej kompilacji.
Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Tak
Build.SourceVersionMessage Komentarz zatwierdzenia lub zestawu zmian dla repozytorium wyzwalającego. Obcinamy komunikat do pierwszego wiersza lub 200 znaków, w zależności od tego, co jest krótsze.

Odpowiada Build.SourceVersionMessage komunikatowi w Build.SourceVersion zatwierdzeniu. Zatwierdzenie Build.SourceVersion kompilacji żądania ściągnięcia to zatwierdzenie scalania (a nie zatwierdzenie w gałęzi źródłowej).

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Ponadto ta zmienna jest dostępna tylko na poziomie kroku i nie jest dostępna na poziomach zadania lub etapu (czyli komunikat nie jest wyodrębniany do momentu uruchomienia zadania i wyewidencjonowania kodu).

Uwaga: ta zmienna jest dostępna w programie TFS 2015.4.

Uwaga: zmienna Build.SourceVersionMessage nie działa z klasycznymi potokami kompilacji w repozytoriach Bitbucket, gdy usługa Batch zmienia się, gdy kompilacja jest w toku .
Nie.
Build.StagingDirectory Ścieżka lokalna agenta, do którego są kopiowane wszystkie artefakty przed wypchnięciem do ich miejsca docelowego. Na przykład: c:\agent_work\1\a.

Typowym sposobem użycia tego folderu jest opublikowanie artefaktów kompilacji za pomocą zadań Kopiowanie plików i Publikowanie artefaktów kompilacji .

Uwaga: Element Build.ArtifactStagingDirectory i Build.StagingDirectory są zamienne. Ten katalog jest czyszczony przed każdą nową kompilacją, więc nie trzeba go czyścić samodzielnie.

Zobacz Artefakty w usłudze Azure Pipelines.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.Git.SubmoduleCheckout Wartość wybrana dla modułów podrzędnych Wyewidencjonuj na karcie repozytorium. Po wyewidencjonowaniu wielu repozytoriów ta wartość śledzi ustawienie wyzwalającego repozytorium.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.SourceTfvcShelveset Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation.

Jeśli korzystasz z ogrodzonych kompilacji lub kompilacji na półce, jest to ustawione na nazwę zestawu półek, który tworzysz.

Uwaga: ta zmienna zwraca nieprawidłową wartość do użycia w kompilacji w formacie numeru kompilacji.
Nie.
Build.TriggeredBy.BuildId Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość BuildID kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Jeśli wyzwalasz potok YAML przy użyciu metody resources, należy zamiast tego użyć zmiennych zasobów.
Nie.
Build.TriggeredBy.DefinitionId Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość DefinitionID kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Jeśli wyzwalasz potok YAML przy użyciu metody resources, należy zamiast tego użyć zmiennych zasobów.
Nie.
Build.TriggeredBy.DefinitionName Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na nazwę potoku kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Jeśli wyzwalasz potok YAML przy użyciu metody resources, należy zamiast tego użyć zmiennych zasobów.
Nie.
Build.TriggeredBy.BuildNumber Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na liczbę kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Jeśli wyzwalasz potok YAML przy użyciu metody resources, należy zamiast tego użyć zmiennych zasobów.
Nie.
Build.TriggeredBy.ProjectID Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na identyfikator projektu zawierającego kompilację wyzwalającą. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Jeśli wyzwalasz potok YAML przy użyciu metody resources, należy zamiast tego użyć zmiennych zasobów.
Nie.
Common.TestResultsDirectory Ścieżka lokalna agenta, w którym są tworzone wyniki testu. Na przykład: c:\agent_work\1\TestResults.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.

Zmienne potoku (DevOps Server 2022)

Zmienna opis
Pipeline.Workspace Katalog obszaru roboczego dla określonego potoku. Ta zmienna ma taką samą wartość jak Agent.BuildDirectory. Na przykład /home/vsts/work/1.

Napiwek

Jeśli używasz klasycznych potoków wydania, możesz użyć klasycznych wydań i zmiennych artefaktów do przechowywania i uzyskiwania dostępu do danych w całym potoku.

Zmienne zadania wdrożenia (DevOps Server 2022)

Te zmienne są ograniczone do określonego zadania wdrożenia i zostaną rozwiązane tylko w czasie wykonywania zadania.

Zmienna opis
Environment.Name Nazwa środowiska docelowego w zadaniu wdrażania, aby uruchomić kroki wdrażania i zarejestrować historię wdrożenia. Na przykład smarthotel-dev.
Environment.Id Identyfikator środowiska docelowego w zadaniu wdrażania. Na przykład 10.
Environment.ResourceName Nazwa określonego zasobu w środowisku docelowym w zadaniu wdrażania, aby uruchomić kroki wdrażania i zarejestrować historię wdrożenia. Na przykład bookings jest to przestrzeń nazw Kubernetes, która została dodana jako zasób do środowiska smarthotel-dev.
Environment.ResourceId Identyfikator określonego zasobu w środowisku docelowym w zadaniu wdrażania, aby uruchomić kroki wdrażania. Na przykład 4.
Strategy.Name Nazwa strategii wdrażania: canary, runOncelub rolling.
Strategy.CycleName Bieżąca nazwa cyklu we wdrożeniu. Opcje to PreIteration, Iterationlub PostIteration.

Zmienne systemowe (DevOps Server 2022)

Zmienna opis Dostępne w szablonach?
System.AccessToken Użyj tokenu OAuth, aby uzyskać dostęp do interfejsu API REST.

Użyj elementu System.AccessToken ze skryptów YAML.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Tak
System.CollectionId Identyfikator GUID kolekcji TFS lub organizacji usługi Azure DevOps. Tak
System.CollectionUri Identyfikator URI kolekcji TFS lub organizacji usługi Azure DevOps. Na przykład: https://dev.azure.com/fabrikamfiber/. Tak
System.DefaultWorkingDirectory Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s.

Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Tak
System.DefinitionId Identyfikator potoku kompilacji. Tak
System.HostType Ustaw wartość na build , jeśli potok jest kompilacją. W przypadku wydania wartości są przeznaczone deployment dla zadania grupy wdrożenia, gates podczas oceny bram i release dla innych zadań (agenta i bez agenta). Tak
System.JobAttempt Ustaw wartość 1 przy pierwszej próbie wykonania tego zadania i zwiększa się za każdym razem, gdy zadanie jest ponawiane. Nie.
System.JobDisplayName Czytelna dla człowieka nazwa nadana pracy. Nie.
System.JobId Unikatowy identyfikator pojedynczej próby pojedynczego zadania. Wartość jest unikatowa dla bieżącego potoku. Nie.
System.JobName Nazwa zadania, zwykle używana do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. Nie.
System.PhaseAttempt Ustaw wartość 1 przy pierwszej próbie wykonania tej fazy i zwiększa się za każdym razem, gdy zadanie jest ponawiane.

Uwaga: "Faza" jest głównie nadmiarową koncepcją, która reprezentuje czas projektowania zadania (natomiast zadanie było wersją środowiska uruchomieniowego fazy). W większości usunęliśmy koncepcję "fazy" z usługi Azure Pipelines. Zadania macierzy i wielokonfiguracji są jedynym miejscem, w którym "faza" nadal różni się od "zadania". Jedna faza może utworzyć wystąpienie wielu zadań, które różnią się tylko swoimi danymi wejściowymi.
Nie.
System.PhaseDisplayName Nazwa czytelna dla człowieka nadana fazie. Nie.
System.PhaseName Identyfikator oparty na ciągach dla zadania, zwykle używany do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. Nie.
System.PlanId Identyfikator oparty na ciągu dla pojedynczego przebiegu potoku. Nie.
System.PullRequest.IsFork Jeśli żądanie ściągnięcia pochodzi z rozwidlenia repozytorium, ta zmienna ma wartość True. W przeciwnym razie ustawiono wartość False. Tak
System.PullRequest.PullRequestId Identyfikator żądania ściągnięcia, który spowodował tę kompilację. Na przykład: 17. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). Nie.
System.PullRequest.PullRequestNumber Liczba żądań ściągnięcia, które spowodowało tę kompilację. Ta zmienna jest wypełniana dla żądań ściągnięcia z usługi GitHub, które mają inny identyfikator żądania ściągnięcia i numer żądania ściągnięcia. Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. Nie.
System.PullRequest.targetBranchName Nazwa gałęzi docelowej dla żądania ściągnięcia. Ta zmienna może służyć w potoku do warunkowego wykonywania zadań lub kroków na podstawie gałęzi docelowej żądania ściągnięcia. Na przykład możesz chcieć wyzwolić inny zestaw testów lub narzędzi do analizy kodu w zależności od gałęzi, w której zmiany są scalane. Nie.
System.PullRequest.SourceBranch Gałąź, która jest przeglądana w żądaniu ściągnięcia. Na przykład: refs/heads/users/raisa/new-feature dla usługi Azure Repos. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. Nie.
System.PullRequest.SourceRepositoryURI Adres URL repozytorium, który zawiera żądanie ściągnięcia. Na przykład: https://dev.azure.com/ouraccount/_git/OurProject. Nie.
System.PullRequest.TargetBranch Gałąź, która jest elementem docelowym żądania ściągnięcia. Na przykład: refs/heads/main gdy repozytorium znajduje się w usłudze Azure Repos i main gdy repozytorium znajduje się w usłudze GitHub. Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powodu żądania ściągnięcia usługi Git objętego zasadami gałęzi. Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. Nie.
System.StageAttempt Ustaw wartość 1 przy pierwszej próbie tego etapu i zwiększa się za każdym razem, gdy etap zostanie ponowiony. Nie.
System.StageDisplayName Czytelna dla człowieka nazwa nadana etapowi. Nie.
System.StageName Identyfikator oparty na ciągach dla etapu, zwykle używany do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. Nie.
System.TeamFoundationCollectionUri Identyfikator URI kolekcji TFS lub organizacji usługi Azure DevOps. Na przykład: https://dev.azure.com/fabrikamfiber/.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Tak
System.TeamProject Nazwa projektu, który zawiera tę kompilację. Tak
System.TeamProjectId Identyfikator projektu, do którego należy ta kompilacja. Tak
System.TimelineId Identyfikator oparty na ciągu dla szczegółów wykonywania i dzienników pojedynczego przebiegu potoku. Nie.
TF_BUILD Ustaw wartość na True , jeśli skrypt jest uruchamiany przez zadanie kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.

Sprawdza zmienne (DevOps Server 2022)

Zmienna opis
Checks.StageAttempt Ustaw wartość 1 przy pierwszej próbie tego etapu i zwiększa się za każdym razem, gdy etap zostanie ponowiony.
Tej zmiennej można używać tylko w ramach zatwierdzenia lub sprawdzania środowiska. Na przykład można użyć $(Checks.StageAttempt) w ramach sprawdzania wywołania interfejsu API REST.
Dodaj próbę etapu jako parametr.

Zmienne agenta (DevOps Server 2020)

Uwaga

Zmienne agenta można używać jako zmiennych środowiskowych w skryptach i jako parametrów w zadaniach kompilacji. Nie można ich użyć do dostosowania numeru kompilacji lub zastosowania etykiety lub tagu kontroli wersji.

Zmienna opis
Agent.BuildDirectory Ścieżka lokalna agenta, w którym są tworzone wszystkie foldery dla danego potoku kompilacji. Ta zmienna ma taką samą wartość jak Pipeline.Workspace. Na przykład: /home/vsts/work/1.
Agent.HomeDirectory Katalog, w którym jest zainstalowany agent. Zawiera oprogramowanie agenta. Na przykład: c:\agent.
Agent.Id Identyfikator agenta.
Agent.JobName Nazwa uruchomionego zadania. Zwykle będzie to "Zadanie" lub "__default", ale w scenariuszach obejmujących wiele konfiguracji będzie konfiguracją.
Agent.JobStatus Stan kompilacji.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (częściowo zakończone powodzeniem)
Zmienna środowiskowa powinna być przywołyowana jako AGENT_JOBSTATUS. Starsze agent.jobstatus są dostępne w celu zapewnienia zgodności z poprzednimi wersjami.
Agent.MachineName Nazwa maszyny, na której zainstalowano agenta.
Agent.Name Nazwa agenta zarejestrowanego w puli.

Jeśli używasz własnego agenta, ta nazwa zostanie ustawiona przez Ciebie. Zobacz agentów.
Agent.OS System operacyjny hosta agenta. Prawidłowe wartości to:
  • Windows_NT
  • Darwin
  • Linux
Jeśli korzystasz z kontenera, host agenta i kontener mogą działać w różnych systemach operacyjnych.
Agent.OSArchitecture Architektura procesora systemu operacyjnego hosta agenta. Prawidłowe wartości to:
  • X86
  • X64
  • ARM processor
Agent.TempDirectory Folder tymczasowy, który jest czyszczony po każdym zadaniu potoku. Ten katalog jest używany przez zadania, takie jak zadanie interfejsu wiersza polecenia platformy .NET Core do przechowywania tymczasowych elementów, takich jak wyniki testów przed ich opublikowaniem.
Na przykład: /home/vsts/work/_temp dla systemu Ubuntu.
Agent.ToolsDirectory Katalog używany przez zadania, takie jak Instalator narzędzi node i Używanie wersji języka Python do przełączania się między wieloma wersjami narzędzia.

Te zadania dodają narzędzia z tego katalogu do programu , aby PATH kolejne kroki kompilacji mogły ich używać.

Dowiedz się więcej o zarządzaniu tym katalogiem na własnym agencie.
Agent.WorkFolder Katalog roboczy dla tego agenta. Na przykład: c:\agent_work.

Uwaga: ten katalog nie ma gwarancji, że można zapisywać według zadań potoku (na przykład w przypadku zamapowania na kontener)

Zmienne kompilacji (DevOps Server 2020)

Zmienna opis Dostępne w szablonach?
Build.ArtifactStagingDirectory Ścieżka lokalna agenta, do którego są kopiowane wszystkie artefakty przed wypchnięciem do ich miejsca docelowego. Na przykład: c:\agent_work\1\a.

Typowym sposobem użycia tego folderu jest opublikowanie artefaktów kompilacji za pomocą zadań Kopiowanie plików i Publikowanie artefaktów kompilacji .

Uwaga: Element Build.ArtifactStagingDirectory i Build.StagingDirectory są zamienne. Ten katalog jest czyszczony przed każdą nową kompilacją, więc nie trzeba go czyścić samodzielnie.

Zobacz Artefakty w usłudze Azure Pipelines.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.BuildId Identyfikator rekordu dla ukończonej kompilacji. Nie.
Build.BuildNumber Nazwa ukończonej kompilacji, znana również jako numer uruchomienia. Możesz określić , co znajduje się w tej wartości.

Typowym zastosowaniem tej zmiennej jest uczynienie jej częścią formatu etykiety określonego na karcie repozytorium.

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.BuildUri Identyfikator URI kompilacji. Na przykład: vstfs:///Build/Build/1430.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.BinariesDirectory Ścieżka lokalna agenta, którego można użyć jako folderu wyjściowego dla skompilowanych plików binarnych.

Domyślnie nowe potoki kompilacji nie są skonfigurowane do czyszczenia tego katalogu. Możesz zdefiniować kompilację, aby wyczyścić ją na karcie Repozytorium.

Na przykład: c:\agent_work\1\b.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.ContainerId Identyfikator kontenera dla artefaktu. Po przekazaniu artefaktu w potoku jest dodawany do kontenera specyficznego dla tego konkretnego artefaktu. Nie.
Build.DefinitionName Nazwa potoku kompilacji.

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety zakończy się niepowodzeniem.
Tak
Build.DefinitionVersion Wersja potoku kompilacji. Tak
Build.QueuedBy Zobacz "Jak są ustawione zmienne tożsamości?".

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem.
Tak
Build.QueuedById Zobacz "Jak są ustawione zmienne tożsamości?". Tak
Build.Reason Zdarzenie, które spowodowało uruchomienie kompilacji.
  • Manual: Użytkownik ręcznie w kolejce kompilacji.
  • IndividualCI: Ciągła integracja (CI) wyzwalana przez wypychanie usługi Git lub ewidencjonowania kontroli wersji serwera TEAMVC.
  • BatchedCI: Ciągła integracja (CI) wyzwalana przez wypychanie usługi Git lub ewidencjonowania kontroli wersji serwera Team Foundation, a zmiany w usłudze Batch zostały wybrane.
  • Schedule: Wyzwalacz zaplanowany .
  • ValidateShelveset: Użytkownik ręcznie w kolejce kompilacji określonego zestawu półek TFVC.
  • CheckInShelveset: Wyzwalacz zaewidencjonowany z bramą .
  • PullRequest: Kompilacja została wyzwolona przez zasady gałęzi Git, które wymagają kompilacji.
  • BuildCompletion: Kompilacja została wyzwolona przez inną kompilację
  • ResourceTrigger: Kompilacja została wyzwolona przez wyzwalacz zasobu lub została wyzwolona przez inną kompilację.
Zobacz Build pipeline triggers (Wyzwalacze potoku kompilacji), Improve code quality with branch policies (Poprawianie jakości kodu za pomocą zasad gałęzi).
Tak
Build.Repository.Clean Wartość wybrana dla opcji Wyczyść w ustawieniach repozytorium źródłowego.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.LocalPath Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s.

Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium.

Ważna uwaga: jeśli wyewidencjonujesz tylko jedno repozytorium Git, ta ścieżka będzie dokładną ścieżką do kodu.

Jeśli wyewidencjonujesz wiele repozytoriów, zachowanie jest następujące (i może się różnić od wartości zmiennej Build.SourcesDirectory):
  • Jeśli krok wyewidencjonowania dla repozytorium samodzielnego (podstawowego) nie ma zdefiniowanej niestandardowej ścieżki wyewidencjonowania lub ścieżka wyewidencjonowania jest domyślną ścieżką $(Pipeline.Workspace)/s/&lt;RepoName&gt; do wyewidencjonowania dla repozytorium samodzielnego, wartość tej zmiennej zostanie przywrócona do wartości domyślnej, czyli $(Pipeline.Workspace)/s.
  • Jeśli krok wyewidencjonowania dla repozytorium samodzielnego (podstawowego) ma zdefiniowaną niestandardową ścieżkę wyewidencjonowania (i nie jest to ścieżka domyślna wielokrotnego wyewidencjonowania), ta zmienna będzie zawierać dokładną ścieżkę do repozytorium samodzielnego.
Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.ID Unikatowy identyfikator repozytorium.

Nie zmieni się to, nawet jeśli nazwa repozytorium nie zostanie zmieniona.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.Name Nazwa repozytorium wyzwalającego.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.Provider Typ repozytorium wyzwalającego.
Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.Tfvc.Workspace Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation. Nazwa obszaru roboczego tfVC używanego przez agenta kompilacji.

Jeśli na przykład parametr Agent.BuildDirectory to c:\agent_work\12 , a Agent.Id to 8, nazwą obszaru roboczego może być: ws_12_8.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.Uri Adres URL repozytorium wyzwalającego. Na przykład:
Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.RequestedFor Zobacz "Jak są ustawione zmienne tożsamości?".

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem.
Tak
Build.RequestedForEmail Zobacz "Jak są ustawione zmienne tożsamości?". Tak
Build.RequestedForId Zobacz "Jak są ustawione zmienne tożsamości?". Tak
Build.SourceBranch Gałąź wyzwalającego repozytorium, dla którego została utworzona kompilacja, została utworzona w kolejce. Kilka przykładów:
  • Gałąź repozytorium Git: refs/heads/main
  • Żądanie ściągnięcia repozytorium Git: refs/pull/1/merge
  • Gałąź repozytorium TFVC: $/teamproject/main
  • Zaewidencjonowane zaewidencjonowane repozytorium TFVC: Gated_2016-06-06_05.20.51.4369;username@live.com
  • Kompilacja zestawu półek repozytorium TFVC: myshelveset;username@live.com
  • Gdy potok zostanie wyzwolony przez tag: refs/tags/your-tag-name
W przypadku używania tej zmiennej w formacie numeru kompilacji znaki ukośnika (/) są zastępowane znakami _podkreślenia ).

Uwaga: W programie TFVC, jeśli uruchamiasz kompilację zaewidencjonowania bramkowego lub ręcznie kompilujesz zestaw półek, nie możesz użyć tej zmiennej w formacie numeru kompilacji.
Tak
Build.SourceBranchName Nazwa gałęzi w repozytorium wyzwalającym, dla którego została utworzona kompilacja, została w kolejce.
  • Gałąź repozytorium Git, żądanie ściągnięcia lub tag: ostatni segment ścieżki w dokumentacji. Na przykład w refs/heads/main tej wartości jest .main W refs/heads/feature/tools tej wartości jest .tools W refs/tags/your-tag-name tej wartości jest .your-tag-name
  • Gałąź repozytorium TFVC: ostatni segment ścieżki w ścieżce serwera głównego dla obszaru roboczego. Na przykład w $/teamproject/main tej wartości jest .main
  • Repozytorium TFVC ogrodzonych zaewidencjonowanych lub półek kompilacji jest nazwą zestawu na półce. Na przykład: Gated_2016-06-06_05.20.51.4369;username@live.com lub myshelveset;username@live.com.
Uwaga: W programie TFVC, jeśli uruchamiasz kompilację zaewidencjonowania bramkowego lub ręcznie kompilujesz zestaw półek, nie możesz użyć tej zmiennej w formacie numeru kompilacji.
Tak
Build.SourcesDirectory Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s.

Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki.

Ważna uwaga: jeśli wyewidencjonujesz tylko jedno repozytorium Git, ta ścieżka jest dokładną ścieżką do kodu. Jeśli wyewidencjonujesz wiele repozytoriów, zostanie przywrócona jego wartość domyślna, czyli $(Pipeline.Workspace)/s, nawet jeśli repozytorium samodzielne (podstawowe) zostanie wyewidencjonowane do niestandardowej ścieżki innej niż domyślna ścieżka $(Pipeline.Workspace)/s/<RepoName> wielokrotnego wyewidencjonowania (w tym względzie zmienna różni się od zachowania zmiennej Build.Repository.LocalPath).

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.SourceVersion Najnowsza zmiana kontroli wersji repozytorium wyzwalającego uwzględnionego w tej kompilacji.
Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Tak
Build.SourceVersionMessage Komentarz zatwierdzenia lub zestawu zmian dla repozytorium wyzwalającego. Obcinamy komunikat do pierwszego wiersza lub 200 znaków, w zależności od tego, co jest krótsze.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Ponadto ta zmienna jest dostępna tylko na poziomie kroku i nie jest dostępna na poziomach zadania lub etapu (czyli komunikat nie jest wyodrębniany, dopóki zadanie nie zostało uruchomione i wyewidencjonowane kod).

Uwaga: ta zmienna jest dostępna w programie TFS 2015.4.

Uwaga: zmienna Build.SourceVersionMessage nie działa z klasycznymi potokami kompilacji w repozytoriach Bitbucket, gdy usługa Batch zmienia się, gdy kompilacja jest w toku .
Nie.
Build.StagingDirectory Ścieżka lokalna agenta, do którego są kopiowane wszystkie artefakty przed wypchnięciem do ich miejsca docelowego. Na przykład: c:\agent_work\1\a.

Typowym sposobem użycia tego folderu jest opublikowanie artefaktów kompilacji za pomocą zadań Kopiowanie plików i Publikowanie artefaktów kompilacji .

Uwaga: Element Build.ArtifactStagingDirectory i Build.StagingDirectory są zamienne. Ten katalog jest czyszczony przed każdą nową kompilacją, więc nie trzeba go czyścić samodzielnie.

Zobacz Artefakty w usłudze Azure Pipelines.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.Repository.Git.SubmoduleCheckout Wartość wybrana dla modułów podrzędnych Wyewidencjonuj na karcie repozytorium. Po wyewidencjonowaniu wielu repozytoriów ta wartość śledzi ustawienie wyzwalającego repozytorium.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.SourceTfvcShelveset Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation.

Jeśli korzystasz z ogrodzonych kompilacji lub kompilacji na półce, jest to ustawione na nazwę zestawu półek, który tworzysz.

Uwaga: ta zmienna zwraca nieprawidłową wartość do użycia w kompilacji w formacie numeru kompilacji.
Nie.
Build.TriggeredBy.BuildId Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość BuildID kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.TriggeredBy.DefinitionId Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość DefinitionID kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.TriggeredBy.DefinitionName Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na nazwę potoku kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.TriggeredBy.BuildNumber Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na liczbę kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Build.TriggeredBy.ProjectID Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na identyfikator projektu zawierającego kompilację wyzwalającą. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
Common.TestResultsDirectory Ścieżka lokalna agenta, w którym są tworzone wyniki testu. Na przykład: c:\agent_work\1\TestResults.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.

Zmienne potoku (DevOps Server 2020)

Zmienna opis
Pipeline.Workspace Katalog obszaru roboczego dla określonego potoku. Ta zmienna ma taką samą wartość jak Agent.BuildDirectory. Na przykład /home/vsts/work/1.

Zmienne zadania wdrożenia (DevOps Server 2020)

Te zmienne są ograniczone do określonego zadania wdrożenia i zostaną rozwiązane tylko w czasie wykonywania zadania.

Zmienna opis
Environment.Name Nazwa środowiska docelowego w zadaniu wdrażania, aby uruchomić kroki wdrażania i zarejestrować historię wdrożenia. Na przykład smarthotel-dev.
Environment.Id Identyfikator środowiska docelowego w zadaniu wdrażania. Na przykład 10.
Environment.ResourceName Nazwa określonego zasobu w środowisku docelowym w zadaniu wdrażania, aby uruchomić kroki wdrażania i zarejestrować historię wdrożenia. Na przykład bookings jest to przestrzeń nazw Kubernetes, która została dodana jako zasób do środowiska smarthotel-dev.
Environment.ResourceId Identyfikator określonego zasobu w środowisku docelowym w zadaniu wdrażania, aby uruchomić kroki wdrażania. Na przykład 4.

Zmienne systemowe (DevOps Server 2020)

Zmienna opis Dostępne w szablonach?
System.AccessToken Użyj tokenu OAuth, aby uzyskać dostęp do interfejsu API REST.

Użyj elementu System.AccessToken ze skryptów YAML.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Tak
System.CollectionId Identyfikator GUID kolekcji TFS lub organizacji usługi Azure DevOps Tak
System.CollectionUri Identyfikator URI kolekcji serwera Team Foundation Server. Tak
System.DefaultWorkingDirectory Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s.

Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.
System.DefinitionId Identyfikator potoku kompilacji. Tak
System.HostType Ustaw wartość na build , jeśli potok jest kompilacją. W przypadku wydania wartości są przeznaczone deployment dla zadania grupy wdrożenia, gates podczas oceny bram i release dla innych zadań (agenta i bez agenta). Tak
System.JobAttempt Ustaw wartość 1 przy pierwszej próbie wykonania tego zadania i zwiększa się za każdym razem, gdy zadanie jest ponawiane. Nie.
System.JobDisplayName Czytelna dla człowieka nazwa nadana pracy. Nie.
System.JobId Unikatowy identyfikator pojedynczej próby pojedynczego zadania. Wartość jest unikatowa dla bieżącego potoku. Nie.
System.JobName Nazwa zadania, zwykle używana do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. Nie.
System.PhaseAttempt Ustaw wartość 1 przy pierwszej próbie wykonania tej fazy i zwiększa się za każdym razem, gdy zadanie jest ponawiane.

Uwaga: "Faza" jest głównie nadmiarową koncepcją, która reprezentuje czas projektowania zadania (natomiast zadanie było wersją środowiska uruchomieniowego fazy). W większości usunęliśmy koncepcję "fazy" z usługi Azure Pipelines. Zadania macierzy i wielokonfiguracji są jedynym miejscem, w którym "faza" nadal różni się od "zadania". Jedna faza może utworzyć wystąpienie wielu zadań, które różnią się tylko swoimi danymi wejściowymi.
Nie.
System.PhaseDisplayName Nazwa czytelna dla człowieka nadana fazie. Nie.
System.PhaseName Identyfikator oparty na ciągach dla zadania, zwykle używany do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. Nie.
System.StageAttempt Ustaw wartość 1 przy pierwszej próbie wykonania tego etapu i zwiększa się za każdym razem, gdy zadanie jest ponawiane. Nie.
System.StageDisplayName Czytelna dla człowieka nazwa nadana etapowi. Nie.
System.StageName Identyfikator oparty na ciągach dla etapu, zwykle używany do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. Tak
System.PullRequest.IsFork Jeśli żądanie ściągnięcia pochodzi z rozwidlenia repozytorium, ta zmienna ma wartość True. W przeciwnym razie ustawiono wartość False. Tak
System.PullRequest.PullRequestId Identyfikator żądania ściągnięcia, który spowodował tę kompilację. Na przykład: 17. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). Nie.
System.PullRequest.PullRequestNumber Liczba żądań ściągnięcia, które spowodowało tę kompilację. Ta zmienna jest wypełniana dla żądań ściągnięcia z usługi GitHub, które mają inny identyfikator żądania ściągnięcia i numer żądania ściągnięcia. Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. Nie.
System.PullRequest.targetBranchName Nazwa gałęzi docelowej dla żądania ściągnięcia. Ta zmienna może służyć w potoku do warunkowego wykonywania zadań lub kroków na podstawie gałęzi docelowej żądania ściągnięcia. Na przykład możesz chcieć wyzwolić inny zestaw testów lub narzędzi do analizy kodu w zależności od gałęzi, w której zmiany są scalane. Nie.
System.PullRequest.SourceBranch Gałąź, która jest przeglądana w żądaniu ściągnięcia. Na przykład: refs/heads/users/raisa/new-feature. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. Nie.
System.PullRequest.SourceCommitId Zatwierdzenie, które jest przeglądane w żądaniu ściągnięcia. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi.
System.PullRequest.SourceRepositoryURI Adres URL repozytorium, który zawiera żądanie ściągnięcia. Na przykład: https://dev.azure.com/ouraccount/_git/OurProject. Nie.
System.PullRequest.TargetBranch Gałąź, która jest elementem docelowym żądania ściągnięcia. Na przykład: refs/heads/main gdy repozytorium znajduje się w usłudze Azure Repos i main gdy repozytorium znajduje się w usłudze GitHub. Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powodu żądania ściągnięcia usługi Git objętego zasadami gałęzi. Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. Nie.
System.TeamFoundationCollectionUri Identyfikator URI kolekcji team foundation. Na przykład: https://dev.azure.com/fabrikamfiber/.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Tak
System.TeamProject Nazwa projektu, który zawiera tę kompilację. Tak
System.TeamProjectId Identyfikator projektu, do którego należy ta kompilacja. Tak
TF_BUILD Ustaw wartość na True , jeśli skrypt jest uruchamiany przez zadanie kompilacji.

Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Nie.

Zmienne agenta (DevOps Server 2019)

Uwaga

Zmienne agenta można używać jako zmiennych środowiskowych w skryptach i jako parametrów w zadaniach kompilacji. Nie można ich użyć do dostosowania numeru kompilacji lub zastosowania etykiety lub tagu kontroli wersji.

Zmienna opis
Agent.BuildDirectory Ścieżka lokalna agenta, w którym są tworzone wszystkie foldery dla danego potoku kompilacji. Na przykład: c:\agent_work\1.
Agent.HomeDirectory Katalog, w którym jest zainstalowany agent. Zawiera oprogramowanie agenta. Na przykład: c:\agent.
Agent.Id Identyfikator agenta.
Agent.JobName Nazwa uruchomionego zadania. Zwykle będzie to "Zadanie" lub "__default", ale w scenariuszach obejmujących wiele konfiguracji będzie konfiguracją.
Agent.JobStatus Stan kompilacji.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (częściowo zakończone powodzeniem)
Zmienna środowiskowa powinna być przywołyowana jako AGENT_JOBSTATUS. Starsze agent.jobstatus są dostępne w celu zapewnienia zgodności z poprzednimi wersjami.
Agent.MachineName Nazwa maszyny, na której zainstalowano agenta.
Agent.Name Nazwa agenta zarejestrowanego w puli.

Jeśli używasz własnego agenta, ta nazwa zostanie ustawiona przez Ciebie. Zobacz agentów.
Agent.OS System operacyjny hosta agenta. Prawidłowe wartości to:
  • Windows_NT
  • Darwin
  • Linux
Jeśli korzystasz z kontenera, host agenta i kontener mogą działać w różnych systemach operacyjnych.
Agent.OSArchitecture Architektura procesora systemu operacyjnego hosta agenta. Prawidłowe wartości to:
  • X86
  • X64
  • ARM processor
Agent.TempDirectory Folder tymczasowy, który jest czyszczony po każdym zadaniu potoku. Ten katalog jest używany przez zadania, takie jak zadanie interfejsu wiersza polecenia platformy .NET Core do przechowywania tymczasowych elementów, takich jak wyniki testów przed ich opublikowaniem.
Agent.ToolsDirectory Katalog używany przez zadania, takie jak Instalator narzędzi node i Używanie wersji języka Python do przełączania się między wieloma wersjami narzędzia.

Te zadania dodają narzędzia z tego katalogu do programu , aby PATH kolejne kroki kompilacji mogły ich używać.

Dowiedz się więcej o zarządzaniu tym katalogiem na własnym agencie.
Agent.WorkFolder Katalog roboczy dla tego agenta. Na przykład: c:\agent_work.

Ten katalog nie ma gwarancji, że można zapisywać według zadań potoku (na przykład w przypadku mapowania na kontener).

Zmienne kompilacji (DevOps Server 2019)

Zmienna opis
Build.ArtifactStagingDirectory Ścieżka lokalna agenta, do którego są kopiowane wszystkie artefakty przed wypchnięciem do ich miejsca docelowego. Na przykład: c:\agent_work\1\a.

Typowym sposobem użycia tego folderu jest opublikowanie artefaktów kompilacji za pomocą zadań Kopiowanie plików i Publikowanie artefaktów kompilacji .

Uwaga: Element Build.ArtifactStagingDirectory i Build.StagingDirectory są zamienne. Ten katalog jest czyszczony przed każdą nową kompilacją, więc nie trzeba go czyścić samodzielnie.

Zobacz Artefakty w usłudze Azure Pipelines.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.BuildId Identyfikator rekordu dla ukończonej kompilacji.
Build.BuildNumber Nazwa ukończonej kompilacji. Możesz określić format numeru kompilacji, który generuje tę wartość w opcjach potoku.

Typowym zastosowaniem tej zmiennej jest uczynienie jej częścią formatu etykiety określonego na karcie repozytorium.

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.BuildUri Identyfikator URI kompilacji. Na przykład: vstfs:///Build/Build/1430.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.BinariesDirectory Ścieżka lokalna agenta, którego można użyć jako folderu wyjściowego dla skompilowanych plików binarnych.

Domyślnie nowe potoki kompilacji nie są skonfigurowane do czyszczenia tego katalogu. Możesz zdefiniować kompilację, aby wyczyścić ją na karcie Repozytorium.

Na przykład: c:\agent_work\1\b.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.DefinitionName Nazwa potoku kompilacji.

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety zakończy się niepowodzeniem.
Build.DefinitionVersion Wersja potoku kompilacji.
Build.QueuedBy Zobacz "Jak są ustawione zmienne tożsamości?".

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem.
Build.QueuedById Zobacz "Jak są ustawione zmienne tożsamości?".
Build.Reason Zdarzenie, które spowodowało uruchomienie kompilacji.
  • Manual: Użytkownik ręcznie w kolejce kompilacji.
  • IndividualCI: Ciągła integracja (CI) wyzwalana przez wypychanie usługi Git lub ewidencjonowania kontroli wersji serwera TEAMVC.
  • BatchedCI: Ciągła integracja (CI) wyzwalana przez wypychanie usługi Git lub ewidencjonowania kontroli wersji serwera Team Foundation, a zmiany w usłudze Batch zostały wybrane.
  • Schedule: Wyzwalacz zaplanowany .
  • ValidateShelveset: Użytkownik ręcznie w kolejce kompilacji określonego zestawu półek TFVC.
  • CheckInShelveset: Wyzwalacz zaewidencjonowany z bramą .
  • PullRequest: Kompilacja została wyzwolona przez zasady gałęzi Git, które wymagają kompilacji.
  • BuildCompletion: Kompilacja została wyzwolona przez inną kompilację.
Zobacz Build pipeline triggers (Wyzwalacze potoku kompilacji), Improve code quality with branch policies (Poprawianie jakości kodu za pomocą zasad gałęzi).
Build.Repository.Clean Wartość wybrana dla opcji Wyczyść w ustawieniach repozytorium źródłowego.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.Repository.LocalPath Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s.

Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Ta zmienna jest synonimem Build.SourcesDirectory.
Build.Repository.Name Nazwa repozytorium.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.Repository.Provider Wybrany typ repozytorium.
Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.Repository.Tfvc.Workspace Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation. Nazwa obszaru roboczego tfVC używanego przez agenta kompilacji.

Jeśli na przykład parametr Agent.BuildDirectory to c:\agent_work\12 , a Agent.Id to 8, nazwą obszaru roboczego może być: ws_12_8.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.Repository.Uri Adres URL repozytorium. Na przykład:
Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.RequestedFor Zobacz "Jak są ustawione zmienne tożsamości?".

Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem.
Build.RequestedForEmail Zobacz "Jak są ustawione zmienne tożsamości?".
Build.RequestedForId Zobacz "Jak są ustawione zmienne tożsamości?".
Build.SourceBranch Gałąź, dla którego została utworzona kompilacja, została utworzona w kolejce. Kilka przykładów:
  • Gałąź repozytorium Git: refs/heads/main
  • Żądanie ściągnięcia repozytorium Git: refs/pull/1/merge
  • Gałąź repozytorium TFVC: $/teamproject/main
  • Zaewidencjonowane zaewidencjonowane repozytorium TFVC: Gated_2016-06-06_05.20.51.4369;username@live.com
  • Kompilacja zestawu półek repozytorium TFVC: myshelveset;username@live.com
Jeśli używasz tej zmiennej w formacie numeru kompilacji, znaki ukośnika (/) są zastępowane znakami podkreślenia (_).

Uwaga: W programie TFVC, jeśli uruchamiasz kompilację zaewidencjonowania bramkowego lub ręcznie kompilujesz zestaw półek, nie możesz użyć tej zmiennej w formacie numeru kompilacji.
Build.SourceBranchName Nazwa gałęzi, dla którego została utworzona kompilacja, została utworzona w kolejce.
  • Gałąź repozytorium Git, żądanie ściągnięcia lub tag: ostatni segment ścieżki w dokumentacji. Na przykład w refs/heads/main tej wartości jest .main W refs/heads/feature/tools tej wartości jest .tools W refs/tags/your-tag-name tej wartości jest .your-tag-name
  • Gałąź repozytorium TFVC: ostatni segment ścieżki w ścieżce serwera głównego dla obszaru roboczego. Na przykład w $/teamproject/main tej wartości to main.
  • Repozytorium TFVC ogrodzonych zaewidencjonowanych lub półek kompilacji jest nazwą zestawu na półce. Na przykład: Gated_2016-06-06_05.20.51.4369;username@live.com lub myshelveset;username@live.com.
Uwaga: W programie TFVC, jeśli uruchamiasz kompilację zaewidencjonowania bramkowego lub ręcznie kompilujesz zestaw półek, nie możesz użyć tej zmiennej w formacie numeru kompilacji.
Build.SourcesDirectory Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s.

Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Ta zmienna jest synonimem Build.Repository.LocalPath.
Build.SourceVersion Najnowsza zmiana kontroli wersji uwzględniona w tej kompilacji.
Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.SourceVersionMessage Komentarz zatwierdzenia lub zestawu zmian. Obcinamy komunikat do pierwszego wiersza lub 200 znaków, w zależności od tego, co jest krótsze.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Uwaga: ta zmienna jest dostępna w programie TFS 2015.4.

Uwaga: zmienna Build.SourceVersionMessage nie działa z klasycznymi potokami kompilacji w repozytoriach Bitbucket, gdy usługa Batch zmienia się, gdy kompilacja jest w toku .
Build.StagingDirectory Ścieżka lokalna agenta, do którego są kopiowane wszystkie artefakty przed wypchnięciem do ich miejsca docelowego. Na przykład: c:\agent_work\1\a.

Typowym sposobem użycia tego folderu jest opublikowanie artefaktów kompilacji za pomocą zadań Kopiowanie plików i Publikowanie artefaktów kompilacji .

Uwaga: Element Build.ArtifactStagingDirectory i Build.StagingDirectory są zamienne. Ten katalog jest czyszczony przed każdą nową kompilacją, więc nie trzeba go czyścić samodzielnie.

Zobacz Artefakty w usłudze Azure Pipelines.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.Repository.Git.SubmoduleCheckout Wartość wybrana dla modułów podrzędnych Wyewidencjonuj na karcie repozytorium.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.SourceTfvcShelveset Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation.

Jeśli korzystasz z ogrodzonych kompilacji lub kompilacji na półce, jest to ustawione na nazwę zestawu półek, który tworzysz.

Uwaga: ta zmienna zwraca nieprawidłową wartość do użycia w kompilacji w formacie numeru kompilacji.
Build.TriggeredBy.BuildId Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość BuildID kompilacji wyzwalającej.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.TriggeredBy.DefinitionId Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość DefinitionID kompilacji wyzwalającej.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.TriggeredBy.DefinitionName Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na nazwę potoku kompilacji wyzwalającej.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.TriggeredBy.BuildNumber Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na liczbę kompilacji wyzwalającej.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Build.TriggeredBy.ProjectID Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na identyfikator projektu zawierającego kompilację wyzwalającą.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
Common.TestResultsDirectory Ścieżka lokalna agenta, w którym są tworzone wyniki testu. Na przykład: c:\agent_work\1\TestResults.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Zmienne systemowe (DevOps Server 2019)

Przykładowy skrypt programu PowerShell: dostęp do interfejsu API REST

Zmienna opis
System.AccessToken Użyj tokenu OAuth, aby uzyskać dostęp do interfejsu API REST.

Użyj elementu System.AccessToken ze skryptów YAML.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
System.CollectionId Identyfikator GUID kolekcji TFS lub organizacji usługi Azure DevOps
System.DefaultWorkingDirectory Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s.

Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
System.DefinitionId Identyfikator potoku kompilacji.
System.HostType Ustaw wartość na build , jeśli potok jest kompilacją. W przypadku wydania wartości są przeznaczone deployment dla zadania grupy wdrożenia i release zadania agenta.
System.PullRequest.IsFork Jeśli żądanie ściągnięcia pochodzi z rozwidlenia repozytorium, ta zmienna ma wartość True. W przeciwnym razie jest ustawiona wartość False.
System.PullRequest.PullRequestId Identyfikator żądania ściągnięcia, który spowodował tę kompilację. Na przykład: 17. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi).
System.PullRequest.PullRequestNumber Liczba żądań ściągnięcia, które spowodowało tę kompilację. Ta zmienna jest wypełniana dla żądań ściągnięcia z usługi GitHub, które mają inny identyfikator żądania ściągnięcia i numer żądania ściągnięcia.
System.PullRequest.SourceBranch Gałąź, która jest przeglądana w żądaniu ściągnięcia. Na przykład: refs/heads/users/raisa/new-feature. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi).
System.PullRequest.SourceCommitId Zatwierdzenie, które jest przeglądane w żądaniu ściągnięcia. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi).
System.PullRequest.SourceRepositoryURI Adres URL repozytorium, który zawiera żądanie ściągnięcia. Na przykład: https://dev.azure.com/ouraccount/_git/OurProject. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia git usługi Azure Repos, którego dotyczy zasada gałęzi. Nie jest on inicjowany dla żądania ściągnięcia w usłudze GitHub.
System.PullRequest.TargetBranch Gałąź, która jest elementem docelowym żądania ściągnięcia. Na przykład: refs/heads/main. Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powodu żądania ściągnięcia usługi Git objętego zasadami gałęzi.
System.TeamFoundationCollectionUri Identyfikator URI kolekcji team foundation. Na przykład: https://dev.azure.com/fabrikamfiber/.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.
System.TeamProject Nazwa projektu, który zawiera tę kompilację.
System.TeamProjectId Identyfikator projektu, do którego należy ta kompilacja.
TF_BUILD Ustaw wartość na True , jeśli skrypt jest uruchamiany przez zadanie kompilacji.

Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji.

Jak ustawiane są zmienne tożsamości?

Wartość zależy od przyczyn kompilacji i są specyficzne dla repozytoriów usługi Azure Repos.

Jeśli kompilacja zostanie wyzwolona... Następnie wartości Build.QueuedBy i Build.QueuedById są oparte na... Następnie wartości Build.RequestedFor i Build.RequestedForId są oparte na...
W usłudze Git lub przez wyzwalacze ciągłej integracji Tożsamość systemu, na przykład: [DefaultCollection]\Project Collection Service Accounts Osoba, która wypchnęła lub zaewidencjonowała zmiany.
W usłudze Git lub w kompilacji zasad gałęzi. Tożsamość systemu, na przykład: [DefaultCollection]\Project Collection Service Accounts Osoba, która zaewidencjonował zmiany.
Na serwerze TFVC przez wyzwalacz zaewidencjonowany Osoba, która zaewidencjonował zmiany. Osoba, która zaewidencjonował zmiany.
W usłudze Git lub tfVC według zaplanowanych wyzwalaczy Tożsamość systemu, na przykład: [DefaultCollection]\Project Collection Service Accounts Tożsamość systemu, na przykład: [DefaultCollection]\Project Collection Service Accounts
Ponieważ kliknięliśmy przycisk Kompilacja kolejki Ty Ty