Udostępnij za pośrednictwem


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.

Napiwek

Możesz poprosić Copilot o pomoc dotyczącą zmiennych. Aby dowiedzieć się więcej, zobacz Ask Copilot to generate a stage with a condition with a condition based on variable values.

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. Na przykład można użyć System.AccessToken do uwierzytelniania w rejestrze kontenerów.

steps:
- task: Docker@2
  inputs:
    command: login
    containerRegistry: '<docker connection>'
  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żywać do dostosowywania numeru kompilacji ani stosowania 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. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.
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. Ta zmienna zawiera oprogramowanie agenta. Na przykład: c:\agent. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.
Agent.Id Identyfikator agenta.
Agent.JobName Nazwa uruchomionego zadania. Ta nazwa jest zwykle Job; lub __default, ale w scenariuszach obejmujących wiele konfiguracji jest to konfiguracja.
Agent.JobStatus Stan kompilacji.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (częściowo zakończone powodzeniem)
  • Skipped (ostatnie zadanie)
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, określ nazwę. 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ą uruchamiać różne systemy operacyjne.
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). Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

Przykład elementu Agent.ContainerMapping:

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

Zmienne kompilacji (DevOps Services)

Jeśli używasz zmiennej w szablonie, który nie jest oznaczony jako dostępny w szablonach, zmienna nie jest renderowana. Zmienna nie jest renderowana, ponieważ jej wartość nie jest dostępna w zakresie szablonu.

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. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.BuildUri Identyfikator URI kompilacji. Na przykład: vstfs:///Build/Build/1430.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.BinariesDirectory Ścieżka lokalna agenta, którego można użyć jako folderu wyjściowego dla skompilowanych plików binarnych.

W przypadku własnych agentów nowe potoki kompilacji nie są skonfigurowane do domyślnego czyszczenia tego katalogu. Możesz zdefiniować kompilację, aby wyczyścić ją na karcie Repozytorium.

Na przykład: c:\agent_work\1\b. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 zaplanowany wyzwalacz YAML wyzwala uruchomienie potoku. 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ą ustawiane 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ą ustawiane 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) wyzwalane przez wypychanie usługi Git lub ewidencjonowanie kontroli wersji programu Team Foundation (TFVC).
  • 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: zasady gałęzi Git wymagające kompilacji wyzwalają kompilację.
  • BuildCompletion: inne wyzwalacze kompilacji kompilacji.
  • ResourceTrigger: wyzwalacz zasobu lub innych wyzwalaczy kompilacji kompilacji.
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 Clean w ustawieniach repozytorium źródłowego .

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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.

W przypadku własnych agentów nowe potoki kompilacji aktualizują tylko zmienione pliki domyślnie. 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) miał zdefiniowaną niestandardową ścieżkę wyewidencjonowania, która nie jest domyślną ścieżką do wyewidencjonowania wieloewidencjonowania, ta zmienna zawiera dokładną ścieżkę do repozytorium samodzielnego.
Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.Repository.ID Unikatowy identyfikator repozytorium.

Ta wartość nie zmienia się, nawet jeśli nazwa repozytorium nie zostanie zmieniona.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.Repository.Name Nazwa repozytorium wyzwalającego.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.Repository.Provider Typ repozytorium wyzwalającego.
Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.Repository.Uri Adres URL repozytorium wyzwalającego. Na przykład:
Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.RequestedFor Zobacz Jak są ustawiane 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ą ustawiane zmienne tożsamości?. Tak
Build.RequestedForId Zobacz Jak są ustawiane 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 tag wyzwala potok: refs/tags/your-tag-name
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.
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/toolsta wartość jest tools. W refs/tags/your-tag-namewartość to your_tag_name, z łącznikami (-) zastąpionymi znakami podkreślenia (_).
  • 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.

W przypadku własnych agentów nowe potoki kompilacji aktualizują tylko zmienione pliki. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

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 w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.SourceVersion Najnowsza zmiana kontroli wersji repozytorium wyzwalającego uwzględnionego w tej kompilacji.
Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.

Ponadto ta zmienna jest dostępna tylko na poziomie kroku i nie jest dostępna na poziomach zadania lub etapu. Oznacza to, że komunikat nie jest wyodrębniany do momentu uruchomienia zadania i wyewidencjonowania kodu.

Uwaga: zmienna Build.SourceVersionMessage nie działa z klasycznymi potokami kompilacji w repozytoriach Bitbucket, gdy zmiany w usłudze Batch, gdy kompilacja jest w toku jest włączona.
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. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

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 w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.Repository.Git.SubmoduleCheckout Wartość wybrana dla modułów podrzędnych wyewidencjonowania na karcie repozytorium . Po wyewidencjonowaniu wielu repozytoriów ta wartość śledzi ustawienie wyzwalającego repozytorium.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.SourceTfvcShelveset Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation.

Jeśli korzystasz z bramowanej kompilacji lub kompilacji zestawu półek, ta zmienna jest ustawiona na nazwę zestawu na półce , tworzysz.

Uwaga: ta zmienna zwraca nieprawidłową wartość do użycia w kompilacji w formacie numeru kompilacji.
Nie.
Build.TriggeredBy.BuildId Jeśli kolejne wyzwalacze kompilacji kompilacji, ta zmienna jest ustawiona na wartość BuildID kompilacji wyzwalającej. W potokach klasycznych wyzwalacz uzupełniania kompilacji wyzwala tę zmienną.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 kolejne wyzwalacze kompilacji kompilacji, ta zmienna jest ustawiona na Wartość DefinitionID kompilacji wyzwalającej. W potokach klasycznych wyzwalacz uzupełniania kompilacji wyzwala tę zmienną.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 kolejne wyzwalacze kompilacji kompilacji, ta zmienna jest ustawiona na nazwę potoku kompilacji wyzwalającej. W potokach klasycznych wyzwalacz uzupełniania kompilacji wyzwala tę zmienną.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 kolejne wyzwalacze kompilacji kompilacji, ta zmienna jest ustawiona na liczbę kompilacji wyzwalającej. W potokach klasycznych wyzwalacz uzupełniania kompilacji wyzwala tę zmienną.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 kolejne wyzwalacze kompilacji kompilacji, ta zmienna jest ustawiona na identyfikator projektu zawierającego kompilację wyzwalającą. W potokach klasycznych wyzwalacz uzupełniania kompilacji wyzwala tę zmienną.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.

Zmienne potoku

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. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

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

Te zmienne są ograniczone do określonego zadania wdrożenia i są rozpoznawane 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 to przestrzeń nazw Kubernetes dodawana 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

Jeśli używasz zmiennej w szablonie, który nie jest oznaczony jako dostępny w szablonach, zmienna nie jest renderowana. Zmienna nie jest renderowana, ponieważ jej wartość nie jest dostępna w zakresie szablonu.

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 w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Tak
System.CollectionId Identyfikator GUID organizacji lub kolekcji usługi Azure DevOps. Tak
System.CollectionUri Identyfikator URI organizacji lub kolekcji 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 Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

W przypadku własnych agentów nowe potoki kompilacji aktualizują tylko zmienione pliki domyślnie. 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. Nie można jej używać jako części numeru kompilacji ani jako tagu 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.OidcRequestUri Wygeneruj element idToken na potrzeby uwierzytelniania przy użyciu identyfikatora Entra przy użyciu protokołu OpenID Connect (OIDC). Dowiedz się więcej. Tak
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). Koncepcja fazy jest głównie usuwana z usługi Azure Pipelines. Zadania macierzy i wielokonfiguracji są jedynym miejscem, w którym faza jest nadal różna 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 zasady gałęzi wpływają na żądanie ściągnięcia. 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 zasady gałęzi wpływają na żądanie ściągnięcia. 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 zasady gałęzi wpływają na żądanie ściągnięcia.
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 zasady gałęzi wpływają na żądanie ściągnięcia. 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 organizacji lub kolekcji usługi Azure DevOps. Na przykład: https://dev.azure.com/fabrikamfiber/.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 zadanie kompilacji uruchamia skrypt.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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żywać do dostosowywania numeru kompilacji ani stosowania 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. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.
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 agent jest instalowany i zawiera oprogramowanie agenta. Na przykład: c:\agent. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.
Agent.Id Identyfikator agenta.
Agent.JobName Nazwa uruchomionego zadania. Nazwa jest zwykle Job lub __default, ale w scenariuszach obejmujących wiele konfiguracji jest to konfiguracja.
Agent.JobStatus Stan kompilacji.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (częściowo zakończone powodzeniem)
  • Skipped (ostatnie zadanie)
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 wartość to określona nazwa. 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). Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

Przykład elementu Agent.ContainerMapping:

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

Zmienne kompilacji (DevOps Server 2022)

Jeśli używasz zmiennej w szablonie, który nie jest oznaczony jako dostępny w szablonach, zmienna nie jest renderowana. Zmienna nie jest renderowana, ponieważ jej wartość nie jest dostępna w zakresie szablonu.

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. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

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.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.BuildUri Identyfikator URI kompilacji. Na przykład: vstfs:///Build/Build/1430.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.BinariesDirectory Ścieżka lokalna agenta, którego można użyć jako folderu wyjściowego dla skompilowanych plików binarnych. Na przykład: c:\agent_work\1\b. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

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



Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 zaplanowany wyzwalacz YAML wyzwala uruchomienie potoku. 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ą ustawiane 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ą ustawiane 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: zasady gałęzi Git wymagające kompilacji wyzwalają kompilację.
  • BuildCompletion: innej kompilacji wyzwala kompilację
  • ResourceTrigger: wyzwalacz zasobu lub innej kompilacji, wyzwala 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 Clean w ustawieniach repozytorium źródłowego .

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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.
Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.Repository.ID Unikatowy identyfikator repozytorium.

Ta wartość nie zmienia się, nawet jeśli nazwa repozytorium nie zostanie zmieniona.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.Repository.Name Nazwa repozytorium wyzwalającego.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.Repository.Provider Typ repozytorium wyzwalającego.
Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.Repository.Uri Adres URL repozytorium wyzwalającego. Na przykład:Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 tag wyzwala potok: 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/mainta wartość jest main. W refs/heads/feature/toolsta wartość jest tools. W refs/tags/your-tag-nameta wartość 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/mainta wartość 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. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

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).

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.SourceVersion Najnowsza zmiana kontroli wersji repozytorium wyzwalającego uwzględnionego w tej kompilacji.
Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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).

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.

Ponadto ta zmienna jest dostępna tylko na poziomie kroku. Nie jest on dostępny na poziomach zadania lub etapu. Oznacza to, że komunikat nie jest wyodrębniany do momentu uruchomienia zadania i wyewidencjonowania kodu.

>Uwaga: zmienna Build.SourceVersionMessage nie działa z klasycznymi potokami kompilacji w repozytoriach Bitbucket, gdy zmiany usługi Batch, gdy kompilacja jest w toku, jest włączona.
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. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

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.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.Repository.Git.SubmoduleCheckout Wartość wybrana dla modułów podrzędnych wyewidencjonowania na karcie repozytorium . Po wyewidencjonowaniu wielu repozytoriów ta wartość śledzi ustawienie wyzwalającego repozytorium.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.SourceTfvcShelveset Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation.

Jeśli korzystasz z bramowanej kompilacji lub kompilacji zestawu półek, ta zmienna jest ustawiona na nazwę zestawu na półce , tworzysz.

Uwaga: ta zmienna zwraca nieprawidłową wartość do użycia w kompilacji w formacie numeru kompilacji.
Nie.
Build.TriggeredBy.BuildId Jeśli kolejne wyzwalacze kompilacji kompilacji, ta zmienna jest ustawiona na wartość BuildID kompilacji wyzwalającej. W potokach klasycznych wyzwalacz uzupełniania kompilacji wyzwala tę zmienną.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 kolejne wyzwalacze kompilacji kompilacji, ta zmienna jest ustawiona na Wartość DefinitionID kompilacji wyzwalającej. W potokach klasycznych wyzwalacz uzupełniania kompilacji wyzwala tę zmienną.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 kolejne wyzwalacze kompilacji kompilacji, ta zmienna jest ustawiona na nazwę potoku kompilacji wyzwalającej. W potokach klasycznych wyzwalacz uzupełniania kompilacji wyzwala tę zmienną.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 kolejne wyzwalacze kompilacji kompilacji, ta zmienna jest ustawiona na liczbę kompilacji wyzwalającej. W potokach klasycznych wyzwalacz uzupełniania kompilacji wyzwala tę zmienną.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 kolejne wyzwalacze kompilacji kompilacji, ta zmienna jest ustawiona na identyfikator projektu zawierającego kompilację wyzwalającą. W potokach klasycznych wyzwalacz uzupełniania kompilacji wyzwala tę zmienną.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

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 są rozpoznawane 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 to przestrzeń nazw Kubernetes dodawana 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)

Jeśli używasz zmiennej w szablonie, który nie jest oznaczony jako dostępny w szablonach, zmienna nie jest renderowana. Zmienna nie jest renderowana, ponieważ jej wartość nie jest dostępna w zakresie szablonu.

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.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Tak
System.CollectionId Identyfikator GUID organizacji lub kolekcji usługi Azure DevOps. Tak
System.CollectionUri Identyfikator URI organizacji lub kolekcji 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 Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

W przypadku własnych agentów nowe potoki kompilacji aktualizują tylko zmienione pliki domyślnie. 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. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 (podczas gdy zadanie było wersją środowiska uruchomieniowego fazy). Koncepcja fazy jest głównie usuwana z usługi Azure Pipelines. Zadania macierzy i wielokonfiguracji są jedynym miejscem, w którym faza jest nadal różna 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 zasady gałęzi wpływają na żądanie ściągnięcia. 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 zasady gałęzi wpływają na żądanie ściągnięcia. 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 zasady gałęzi wpływają na żądanie ściągnięcia. 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 organizacji lub kolekcji usługi Azure DevOps. Na przykład: https://dev.azure.com/fabrikamfiber/.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 zadanie kompilacji uruchamia skrypt.

Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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żywać do dostosowywania numeru kompilacji ani stosowania 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. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.
Agent.HomeDirectory Katalog, w którym agent jest instalowany i zawiera oprogramowanie agenta. Na przykład: c:\agent. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.
Agent.Id Identyfikator agenta.
Agent.JobName Nazwa uruchomionego zadania. Nazwa jest zwykle Job lub _default, ale w scenariuszach obejmujących wiele konfiguracji jest konfiguracją.
Agent.JobStatus Stan kompilacji.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (częściowo zakończone powodzeniem)
  • Skipped (ostatnie zadanie)
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 mapowania na kontener). Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

Zmienne kompilacji (DevOps Server 2020)

Jeśli używasz zmiennej w szablonie, który nie jest oznaczony jako dostępny w szablonach. Zmienna nie jest renderowana, ponieważ jej wartość nie jest dostępna w zakresie szablonu.

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. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

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 w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.BuildUri Identyfikator URI kompilacji. Na przykład: vstfs:///Build/Build/1430.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.BinariesDirectory Ścieżka lokalna agenta, którego można użyć jako folderu wyjściowego dla skompilowanych plików binarnych. Na przykład: c:\agent_work\1\b. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

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



Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 kończy się niepowodzeniem.
Tak
Build.DefinitionVersion Wersja potoku kompilacji. Tak
Build.QueuedBy Zobacz Jak są ustawiane 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ą ustawiane 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: zasady gałęzi Git wymagające kompilacji wyzwalają kompilację.
  • BuildCompletion: innej kompilacji wyzwala kompilację
  • ResourceTrigger: wyzwalacz zasobu lub innej kompilacji, wyzwala 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 Clean w ustawieniach repozytorium źródłowego .

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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/&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 zawiera dokładną ścieżkę do repozytorium samodzielnego.
Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.Repository.ID Unikatowy identyfikator repozytorium.

Wartość nie zmienia się, nawet jeśli nazwa repozytorium nie zostanie zmieniona.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.Repository.Name Nazwa repozytorium wyzwalającego.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.Repository.Provider Typ repozytorium wyzwalającego.
Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.Repository.Uri Adres URL repozytorium wyzwalającego. Na przykład:
Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.RequestedFor Zobacz Jak są ustawiane 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ą ustawiane zmienne tożsamości?. Tak
Build.RequestedForId Zobacz Jak są ustawiane 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 tag wyzwala potok: 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/toolsta wartość jest tools. W refs/tags/your-tag-nameta wartość 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. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

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 w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.SourceVersion Najnowsza zmiana kontroli wersji repozytorium wyzwalającego uwzględnionego w tej kompilacji.
Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.

Ponadto ta zmienna jest dostępna tylko na poziomie kroku. Nie jest on dostępny na poziomach zadania lub etapu. Oznacza to, że komunikat nie jest wyodrębniany do momentu uruchomienia zadania i wyewidencjonowania kodu.

Uwaga: zmienna Build.SourceVersionMessage nie działa z klasycznymi potokami kompilacji w repozytoriach Bitbucket, gdy zmiany w usłudze Batch, gdy kompilacja jest w toku jest włączona.
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 w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.Repository.Git.SubmoduleCheckout Wartość wybrana dla modułów podrzędnych wyewidencjonowania na karcie repozytorium . Po wyewidencjonowaniu wielu repozytoriów ta wartość śledzi ustawienie wyzwalającego repozytorium.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.SourceTfvcShelveset Zdefiniowano, jeśli repozytorium to Team Foundation Version Control (TFVC).

Jeśli korzystasz z bramowanej kompilacji lub kompilacji zestawu półek, ta zmienna jest ustawiona na nazwę zestawu na półce , tworzysz.

Uwaga: ta zmienna zwraca nieprawidłową wartość do użycia w kompilacji w formacie numeru kompilacji.
Nie.
Build.TriggeredBy.BuildId Jeśli kolejne wyzwalacze kompilacji kompilacji, ta zmienna jest ustawiona na wartość BuildID kompilacji wyzwalającej. W potokach klasycznych wyzwalacz uzupełniania kompilacji wyzwala tę zmienną.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.TriggeredBy.DefinitionId Jeśli kolejne wyzwalacze kompilacji kompilacji, ta zmienna jest ustawiona na Wartość DefinitionID kompilacji wyzwalającej. W potokach klasycznych wyzwalacz uzupełniania kompilacji wyzwala tę zmienną.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.TriggeredBy.DefinitionName Jeśli kolejne wyzwalacze kompilacji kompilacji, ta zmienna jest ustawiona na nazwę potoku kompilacji wyzwalającej. W potokach klasycznych wyzwalacz uzupełniania kompilacji wyzwala tę zmienną.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.TriggeredBy.BuildNumber Jeśli kolejne wyzwalacze kompilacji kompilacji, ta zmienna jest ustawiona na liczbę kompilacji wyzwalającej. W potokach klasycznych wyzwalacz uzupełniania kompilacji wyzwala tę zmienną.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Build.TriggeredBy.ProjectID Jeśli kolejne wyzwalacze kompilacji kompilacji, ta zmienna jest ustawiona na identyfikator projektu zawierającego kompilację wyzwalającą. W potokach klasycznych wyzwalacz uzupełniania kompilacji wyzwala tę zmienną.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu kontroli wersji.
Nie.
Common.TestResultsDirectory Ścieżka lokalna agenta, w którym są tworzone wyniki testu. Na przykład: c:\agent_work\1\TestResults. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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. Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

Zmienne zadania wdrożenia (DevOps Server 2020)

Te zmienne są ograniczone do określonego zadania wdrożenia i są rozpoznawane 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 to przestrzeń nazw Kubernetes dodawana 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)

Jeśli używasz zmiennej w szablonie, który nie jest oznaczony jako dostępny w szablonach. Zmienna nie jest renderowana, ponieważ jej wartość nie jest dostępna w zakresie szablonu.

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 w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

W przypadku własnych agentów nowe potoki kompilacji aktualizują tylko zmienione pliki domyślnie. 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. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 (podczas gdy zadanie było wersją środowiska uruchomieniowego fazy). Koncepcja fazy jest głównie usuwana z usługi Azure Pipelines. Zadania macierzy i wielokonfiguracji są jedynym miejscem, w którym faza jest nadal różna 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 jego wartość to 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 zasady gałęzi wpływają na żądanie ściągnięcia. 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 zasady gałęzi wpływają na żądanie ściągnięcia. 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 zasady gałęzi wpływają na żądanie ściągnięcia.
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 zasady gałęzi wpływają na żądanie ściągnięcia. Nie.
System.TeamFoundationCollectionUri Identyfikator URI kolekcji team foundation. Na przykład: https://dev.azure.com/fabrikamfiber/.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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 zadanie kompilacji uruchamia skrypt.

Ta zmienna jest w zakresie agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji. Nie można jej używać jako części numeru kompilacji ani jako tagu 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)
  • Skipped (ostatnie zadanie)
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 Aby uzyskać więcej informacji na temat struktury katalogów agentów, zobacz Struktura katalogów agenta.

W przypadku własnych agentów nowe potoki kompilacji aktualizują tylko zmienione pliki domyślnie. 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. Nie można jej używać jako części numeru kompilacji ani jako tagu 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

Poproś copilota o wygenerowanie etapu z warunkiem na podstawie wartości zmiennych

Użyj copilot, aby wygenerować etap z warunkiem określonym przez wartość zmiennej.

Ten przykładowy monit definiuje etap, który jest uruchamiany, gdy Agent.JobStatus wskazuje, że poprzedni etap został uruchomiony pomyślnie:

Utwórz nowy etap usługi Azure DevOps uruchamiany tylko wtedy, gdy Agent.JobStatus jest Succeeded lub SucceededWithIssues.

Możesz dostosować monit, aby użyć wartości spełniających wymagania. Możesz na przykład poprosić o pomoc w utworzeniu etapu, który jest uruchamiany tylko w przypadku awarii potoku.

Uwaga

Narzędzie GitHub Copilot jest obsługiwane przez sztuczną inteligencję, więc możliwe są niespodzianki i błędy. Upewnij się, że zweryfikowano wygenerowany kod lub sugestie. Aby uzyskać więcej informacji na temat ogólnego użycia narzędzia GitHub Copilot, wpływu produktu, nadzoru ludzkiego i prywatności, zobacz GitHub Copilot — często zadawane pytania.