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 true
wartość .
Edytuj potok.
Wybierz pozycję Zmienne.
Dodaj nową zmienną o nazwie
System.Debug
i wartościtrue
.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.Debug
true
jako zmienną w potoku lub szablonie.
variables:
system.debug: 'true'
Gdy System.Debug
jest ustawiona true
wartość , dla dodatkowej zmiennej o nazwie Agent.Diagnostic
ustawiono wartość true
. Gdy Agent.Diagnostic
wartość to true
, agent zbiera więcej dzienników, których można użyć do rozwiązywania problemów z siecią dla własnych agentów. Aby uzyskać więcej informacji, zobacz Diagnostyka sieci dla własnych agentów.
Uwaga
Zmienna Agent.Diagnostic
jest dostępna w wersji 2.200.0 i nowszej.
Aby uzyskać więcej informacji, zobacz Przeglądanie dzienników w celu diagnozowania problemów z potokiem.
Zmienne agenta (DevOps Services)
Uwaga
Zmienne agenta można używać jako zmiennych środowiskowych w skryptach i jako parametrów w zadaniach kompilacji. Nie można ich użyć do dostosowania numeru kompilacji lub zastosowania etykiety lub tagu kontroli wersji.
Zmienna | opis |
---|---|
Agent.BuildDirectory | Ścieżka lokalna agenta, w którym są tworzone wszystkie foldery dla danego potoku kompilacji. Ta zmienna ma taką samą wartość jak Pipeline.Workspace . Na przykład: /home/vsts/work/1 . |
Agent.ContainerMapping | Mapowanie nazw zasobów kontenera w języku YAML na ich identyfikatory platformy Docker w czasie wykonywania. Przykład jest następujący w tabeli. |
Agent.HomeDirectory | Katalog, w którym jest zainstalowany agent. Zawiera oprogramowanie agenta. Na przykład: c:\agent . |
Agent.Id | Identyfikator agenta. |
Agent.JobName | Nazwa uruchomionego zadania. Zwykle będzie to "Zadanie"; lub "__default", ale w scenariuszach obejmujących wiele konfiguracji będzie konfiguracją. |
Agent.JobStatus | Stan kompilacji.
AGENT_JOBSTATUS . Starsze agent.jobstatus są dostępne w celu zapewnienia zgodności z poprzednimi wersjami. |
Agent.MachineName | Nazwa maszyny, na której zainstalowano agenta. |
Agent.Name | Nazwa agenta zarejestrowanego w puli. Jeśli używasz własnego agenta, ta nazwa jest określona przez Ciebie. Zobacz agentów. |
Agent.OS | System operacyjny hosta agenta. Prawidłowe wartości to:
|
Agent.OSArchitecture | Architektura procesora systemu operacyjnego hosta agenta. Prawidłowe wartości to:
|
Agent.TempDirectory | Folder tymczasowy, który jest czyszczony po każdym zadaniu potoku. Ten katalog jest używany przez zadania, takie jak zadanie interfejsu wiersza polecenia platformy .NET Core do przechowywania tymczasowych elementów, takich jak wyniki testów przed ich opublikowaniem. Na przykład: /home/vsts/work/_temp dla systemu Ubuntu. |
Agent.ToolsDirectory | Katalog używany przez zadania, takie jak Instalator narzędzi node i Używanie wersji języka Python do przełączania się między wieloma wersjami narzędzia. Te zadania dodają narzędzia z tego katalogu do programu , aby PATH kolejne kroki kompilacji mogły ich używać.Dowiedz się więcej o zarządzaniu tym katalogiem na własnym agencie. |
Agent.WorkFolder | Katalog roboczy dla tego agenta. Na przykład: c:\agent_work .Uwaga: ten katalog nie ma gwarancji, że można zapisywać według zadań potoku (na przykład w przypadku zamapowania na kontener) |
Przykład elementu Agent.ContainerMapping:
{
"one_container": {
"id": "bdbb357d73a0bd3550a1a5b778b62a4c88ed2051c7802a0659f1ff6e76910190"
},
"another_container": {
"id": "82652975109ec494876a8ccbb875459c945982952e0a72ad74c91216707162bb"
}
}
Zmienne kompilacji (DevOps Services)
Jeśli używasz zmiennej w szablonie, który nie jest oznaczony jako dostępny w szablonach, zmienna nie będzie renderowana. Zmienna nie zostanie 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. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.BuildId | Identyfikator rekordu dla ukończonej kompilacji. | Nie. |
Build.BuildNumber | Nazwa ukończonej kompilacji, znana również jako numer uruchomienia. Możesz określić , co znajduje się w tej wartości. Typowym zastosowaniem tej zmiennej jest uczynienie jej częścią formatu etykiety określonego na karcie repozytorium. Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.BuildUri | Identyfikator URI kompilacji. Na przykład: vstfs:///Build/Build/1430 .Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.BinariesDirectory | Ścieżka lokalna agenta, którego można użyć jako folderu wyjściowego dla skompilowanych plików binarnych. Domyślnie nowe potoki kompilacji nie są skonfigurowane do czyszczenia tego katalogu. Możesz zdefiniować kompilację, aby wyczyścić ją na karcie Repozytorium. Na przykład: c:\agent_work\1\b .Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.ContainerId | Identyfikator kontenera dla artefaktu. Po przekazaniu artefaktu w potoku jest dodawany do kontenera specyficznego dla tego konkretnego artefaktu. | Nie. |
Build.CronSchedule.DisplayName | Harmonogram displayName cron, który wyzwolił uruchomienie potoku. Ta zmienna jest ustawiana tylko wtedy, gdy uruchomienie potoku jest wyzwalane przez zaplanowany wyzwalacz YAML. Aby uzyskać więcej informacji, zobacz schedules.cron definition - Build.CronSchedule.DisplayName variable |
Tak |
Build.DefinitionName | Nazwa potoku kompilacji. Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem. |
Tak |
Build.DefinitionVersion | Wersja potoku kompilacji. | Tak |
Build.QueuedBy | Zobacz "Jak są ustawione zmienne tożsamości?". Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem. |
Tak |
Build.QueuedById | Zobacz "Jak są ustawione zmienne tożsamości?". | Tak |
Build.Reason | Zdarzenie, które spowodowało uruchomienie kompilacji.
|
Tak |
Build.Repository.Clean | Wartość wybrana dla opcji Wyczyść w ustawieniach repozytorium źródłowego. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.Repository.LocalPath | Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s .Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium. Ważna uwaga: jeśli wyewidencjonujesz tylko jedno repozytorium Git, ta ścieżka jest dokładną ścieżką do kodu. Jeśli wyewidencjonujesz wiele repozytoriów, zachowanie jest następujące (i może się różnić od wartości zmiennej Build.SourcesDirectory):
|
Nie. |
Build.Repository.ID | Unikatowy identyfikator repozytorium. Nie zmieni się to, nawet jeśli nazwa repozytorium nie zostanie zmieniona. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.Repository.Name | Nazwa repozytorium wyzwalającego. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.Repository.Provider | Typ repozytorium wyzwalającego.
|
Nie. |
Build.Repository.Tfvc.Workspace | Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation. Nazwa obszaru roboczego tfVC używanego przez agenta kompilacji. Jeśli na przykład element Agent.BuildDirectory to c:\agent_work\12 , a Agent.Id to 8 , może to być nazwa obszaru roboczego: ws_12_8 Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.Repository.Uri | Adres URL repozytorium wyzwalającego. Na przykład: Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.RequestedFor | Zobacz "Jak są ustawione zmienne tożsamości?". Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem. |
Tak |
Build.RequestedForEmail | Zobacz "Jak są ustawione zmienne tożsamości?". | Tak |
Build.RequestedForId | Zobacz "Jak są ustawione zmienne tożsamości?". | Tak |
Build.SourceBranch | Gałąź wyzwalającego repozytorium, dla którego została utworzona kompilacja, została utworzona w kolejce. Kilka przykładów:
/ ) 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.
|
Tak |
Build.SourcesDirectory | Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s .Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Ważna uwaga: jeśli wyewidencjonujesz tylko jedno repozytorium Git, ta ścieżka jest dokładną ścieżką do kodu. Jeśli wyewidencjonujesz wiele repozytoriów, zostanie przywrócona jego wartość domyślna, czyli $(Pipeline.Workspace)/s , nawet jeśli repozytorium samodzielne (podstawowe) zostanie wyewidencjonowane do niestandardowej ścieżki innej niż domyślna ścieżka $(Pipeline.Workspace)/s/<RepoName> wielokrotnego wyewidencjonowania (w tym względzie zmienna różni się od zachowania zmiennej Build.Repository.LocalPath).Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.SourceVersion | Najnowsza zmiana kontroli wersji repozytorium wyzwalającego uwzględnionego w tej kompilacji.
|
Tak |
Build.SourceVersionMessage | Komentarz zatwierdzenia lub zestawu zmian dla repozytorium wyzwalającego. Obcinamy komunikat do pierwszego wiersza lub 200 znaków, w zależności od tego, co jest krótsze. Odpowiada Build.SourceVersionMessage komunikatowi w Build.SourceVersion zatwierdzeniu. Zatwierdzenie Build.SourceVersion kompilacji żądania ściągnięcia to zatwierdzenie scalania (a nie zatwierdzenie w gałęzi źródłowej).Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. Ponadto ta zmienna jest dostępna tylko na poziomie kroku i nie jest dostępna na poziomach zadania lub etapu (czyli komunikat nie jest wyodrębniany do momentu uruchomienia zadania i wyewidencjonowania kodu). Uwaga: ta zmienna jest dostępna w programie TFS 2015.4. Uwaga: zmienna Build.SourceVersionMessage nie działa z klasycznymi potokami kompilacji w repozytoriach Bitbucket, gdy usługa Batch zmienia się, gdy kompilacja jest w toku . |
Nie. |
Build.StagingDirectory | Ścieżka lokalna agenta, do którego są kopiowane wszystkie artefakty przed wypchnięciem do ich miejsca docelowego. Na przykład: c:\agent_work\1\a .Typowym sposobem użycia tego folderu jest opublikowanie artefaktów kompilacji za pomocą zadań Kopiowanie plików i Publikowanie artefaktów kompilacji . Uwaga: Element Build.ArtifactStagingDirectory i Build.StagingDirectory są zamienne. Ten katalog jest czyszczony przed każdą nową kompilacją, więc nie trzeba go czyścić samodzielnie. Zobacz Artefakty w usłudze Azure Pipelines. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.Repository.Git.SubmoduleCheckout | Wartość wybrana dla modułów podrzędnych Wyewidencjonuj na karcie repozytorium. Po wyewidencjonowaniu wielu repozytoriów ta wartość śledzi ustawienie wyzwalającego repozytorium. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.SourceTfvcShelveset | Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation. Jeśli korzystasz z ogrodzonych kompilacji lub kompilacji na półce, jest to ustawione na nazwę zestawu półek, który tworzysz. Uwaga: ta zmienna zwraca nieprawidłową wartość do użycia w kompilacji w formacie numeru kompilacji. |
Nie. |
Build.TriggeredBy.BuildId | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość BuildID kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. Jeśli wyzwalasz potok YAML przy użyciu metody resources , należy zamiast tego użyć zmiennych zasobów. |
Nie. |
Build.TriggeredBy.DefinitionId | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość DefinitionID kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. Jeśli wyzwalasz potok YAML przy użyciu metody resources , należy zamiast tego użyć zmiennych zasobów. |
Nie. |
Build.TriggeredBy.DefinitionName | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na nazwę potoku kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. Jeśli wyzwalasz potok YAML przy użyciu metody resources , należy zamiast tego użyć zmiennych zasobów. |
Nie. |
Build.TriggeredBy.BuildNumber | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na liczbę kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. Jeśli wyzwalasz potok YAML przy użyciu metody resources , należy zamiast tego użyć zmiennych zasobów. |
Nie. |
Build.TriggeredBy.ProjectID | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na identyfikator projektu zawierającego kompilację wyzwalającą. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. Jeśli wyzwalasz potok YAML przy użyciu metody resources , należy zamiast tego użyć zmiennych zasobów. |
Nie. |
Common.TestResultsDirectory | Ścieżka lokalna agenta, w którym są tworzone wyniki testu. Na przykład: c:\agent_work\1\TestResults .Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Zmienne potoku (DevOps Services)
Zmienna | opis |
---|---|
Pipeline.Workspace | Katalog obszaru roboczego dla określonego potoku. Ta zmienna ma taką samą wartość jak Agent.BuildDirectory . Na przykład /home/vsts/work/1 . |
Napiwek
Jeśli używasz klasycznych potoków wydania, możesz użyć klasycznych wydań i zmiennych artefaktów do przechowywania i uzyskiwania dostępu do danych w całym potoku.
Zmienne zadania wdrożenia (DevOps Services)
Te zmienne są ograniczone do określonego zadania wdrożenia i zostaną rozwiązane tylko w czasie wykonywania zadania.
Zmienna | opis |
---|---|
Environment.Name | Nazwa środowiska docelowego w zadaniu wdrażania, aby uruchomić kroki wdrażania i zarejestrować historię wdrożenia. Na przykład smarthotel-dev . |
Environment.Id | Identyfikator środowiska docelowego w zadaniu wdrażania. Na przykład 10 . |
Environment.ResourceName | Nazwa określonego zasobu w środowisku docelowym w zadaniu wdrażania, aby uruchomić kroki wdrażania i zarejestrować historię wdrożenia. Na przykład bookings jest to przestrzeń nazw Kubernetes, która została dodana jako zasób do środowiska smarthotel-dev . |
Environment.ResourceId | Identyfikator określonego zasobu w środowisku docelowym w zadaniu wdrażania, aby uruchomić kroki wdrażania. Na przykład 4 . |
Strategy.Name | Nazwa strategii wdrażania: canary , runOnce lub rolling . |
Strategy.CycleName | Bieżąca nazwa cyklu we wdrożeniu. Opcje to PreIteration , Iteration lub PostIteration . |
Zmienne systemowe (DevOps Services)
Jeśli używasz zmiennej w szablonie, który nie jest oznaczony jako dostępny w szablonach, zmienna nie będzie renderowana. Zmienna nie zostanie 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 ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Tak |
System.CollectionId | Identyfikator GUID kolekcji TFS lub organizacji usługi Azure DevOps. | Tak |
System.CollectionUri | Identyfikator URI kolekcji TFS lub organizacji usługi Azure DevOps. Na przykład: https://dev.azure.com/fabrikamfiber/ . |
Tak |
System.DefaultWorkingDirectory | Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s .Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium. Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Tak |
System.DefinitionId | Identyfikator potoku kompilacji. | Tak |
System.HostType | Ustaw wartość na build , jeśli potok jest kompilacją. W przypadku wydania wartości są przeznaczone deployment dla zadania grupy wdrożenia, gates podczas oceny bram i release dla innych zadań (agenta i bez agenta). |
Tak |
System.JobAttempt | Ustaw wartość 1 przy pierwszej próbie wykonania tego zadania i zwiększa się za każdym razem, gdy zadanie jest ponawiane. | Nie. |
System.JobDisplayName | Czytelna dla człowieka nazwa nadana pracy. | Nie. |
System.JobId | Unikatowy identyfikator pojedynczej próby pojedynczego zadania. Wartość jest unikatowa dla bieżącego potoku. | Nie. |
System.JobName | Nazwa zadania, zwykle używana do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. | Nie. |
System.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). W większości usunęliśmy koncepcję "fazy" z usługi Azure Pipelines. Zadania macierzy i wielokonfiguracji są jedynym miejscem, w którym "faza" nadal różni się od "zadania". Jedna faza może utworzyć wystąpienie wielu zadań, które różnią się tylko swoimi danymi wejściowymi. |
Nie. |
System.PhaseDisplayName | Nazwa czytelna dla człowieka nadana fazie. | Nie. |
System.PhaseName | Identyfikator oparty na ciągach dla zadania, zwykle używany do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. | Nie. |
System.PlanId | Identyfikator oparty na ciągu dla pojedynczego przebiegu potoku. | Nie. |
System.PullRequest.IsFork | Jeśli żądanie ściągnięcia pochodzi z rozwidlenia repozytorium, ta zmienna ma wartość True .W przeciwnym razie ustawiono wartość False . |
Tak |
System.PullRequest.PullRequestId | Identyfikator żądania ściągnięcia, który spowodował tę kompilację. Na przykład: 17 . (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). |
Nie. |
System.PullRequest.PullRequestNumber | Liczba żądań ściągnięcia, które spowodowało tę kompilację. Ta zmienna jest wypełniana dla żądań ściągnięcia z usługi GitHub, które mają inny identyfikator żądania ściągnięcia i numer żądania ściągnięcia. Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. | Nie. |
System.PullRequest.targetBranchName | Nazwa gałęzi docelowej dla żądania ściągnięcia. Ta zmienna może służyć w potoku do warunkowego wykonywania zadań lub kroków na podstawie gałęzi docelowej żądania ściągnięcia. Na przykład możesz chcieć wyzwolić inny zestaw testów lub narzędzi do analizy kodu w zależności od gałęzi, w której zmiany są scalane. | Nie. |
System.PullRequest.SourceBranch | Gałąź, która jest przeglądana w żądaniu ściągnięcia. Na przykład: refs/heads/users/raisa/new-feature dla usługi Azure Repos. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. |
Nie. |
System.PullRequest.SourceCommitId | Zatwierdzenie, które jest przeglądane w żądaniu ściągnięcia. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. | |
System.PullRequest.SourceRepositoryURI | Adres URL repozytorium, który zawiera żądanie ściągnięcia. Na przykład: https://dev.azure.com/ouraccount/_git/OurProject . |
Nie. |
System.PullRequest.TargetBranch | Gałąź, która jest elementem docelowym żądania ściągnięcia. Na przykład: refs/heads/main gdy repozytorium znajduje się w usłudze Azure Repos i main gdy repozytorium znajduje się w usłudze GitHub. Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powodu żądania ściągnięcia usługi Git objętego zasadami gałęzi. Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. |
Nie. |
System.StageAttempt | Ustaw wartość 1 przy pierwszej próbie tego etapu i zwiększa się za każdym razem, gdy etap zostanie ponowiony. | Nie. |
System.StageDisplayName | Czytelna dla człowieka nazwa nadana etapowi. | Nie. |
System.StageName | Identyfikator oparty na ciągach dla etapu, zwykle używany do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. | Nie. |
System.TeamFoundationCollectionUri | Identyfikator URI kolekcji TFS lub organizacji usługi Azure DevOps. Na przykład: https://dev.azure.com/fabrikamfiber/ .Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Tak |
System.TeamProject | Nazwa projektu, który zawiera tę kompilację. | Tak |
System.TeamProjectId | Identyfikator projektu, do którego należy ta kompilacja. | Tak |
System.TimelineId | Identyfikator oparty na ciągu dla szczegółów wykonywania i dzienników pojedynczego przebiegu potoku. | Nie. |
TF_BUILD | Ustaw wartość na True , jeśli skrypt jest uruchamiany przez zadanie kompilacji.Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Sprawdza zmienne (DevOps 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. |
Zmienne agenta (DevOps Server 2022)
Uwaga
Zmienne agenta można używać jako zmiennych środowiskowych w skryptach i jako parametrów w zadaniach kompilacji. Nie można ich użyć do dostosowania numeru kompilacji lub zastosowania etykiety lub tagu kontroli wersji.
Zmienna | opis |
---|---|
Agent.BuildDirectory | Ścieżka lokalna agenta, w którym są tworzone wszystkie foldery dla danego potoku kompilacji. Ta zmienna ma taką samą wartość jak Pipeline.Workspace . Na przykład: /home/vsts/work/1 . |
Agent.ContainerMapping | Mapowanie nazw zasobów kontenera w języku YAML na ich identyfikatory platformy Docker w czasie wykonywania. Przykład jest następujący w tabeli. |
Agent.HomeDirectory | Katalog, w którym jest zainstalowany agent. Zawiera oprogramowanie agenta. Na przykład: c:\agent . |
Agent.Id | Identyfikator agenta. |
Agent.JobName | Nazwa uruchomionego zadania. Zwykle będzie to "Zadanie" lub "__default", ale w scenariuszach obejmujących wiele konfiguracji będzie konfiguracją. |
Agent.JobStatus | Stan kompilacji.
AGENT_JOBSTATUS . Starsze agent.jobstatus są dostępne w celu zapewnienia zgodności z poprzednimi wersjami. |
Agent.MachineName | Nazwa maszyny, na której zainstalowano agenta. |
Agent.Name | Nazwa agenta zarejestrowanego w puli. Jeśli używasz własnego agenta, ta nazwa jest określona przez Ciebie. Zobacz agentów. |
Agent.OS | System operacyjny hosta agenta. Prawidłowe wartości to:
|
Agent.OSArchitecture | Architektura procesora systemu operacyjnego hosta agenta. Prawidłowe wartości to:
|
Agent.TempDirectory | Folder tymczasowy, który jest czyszczony po każdym zadaniu potoku. Ten katalog jest używany przez zadania, takie jak zadanie interfejsu wiersza polecenia platformy .NET Core do przechowywania tymczasowych elementów, takich jak wyniki testów przed ich opublikowaniem. Na przykład: /home/vsts/work/_temp dla systemu Ubuntu. |
Agent.ToolsDirectory | Katalog używany przez zadania, takie jak Instalator narzędzi node i Używanie wersji języka Python do przełączania się między wieloma wersjami narzędzia. Te zadania dodają narzędzia z tego katalogu do programu , aby PATH kolejne kroki kompilacji mogły ich używać.Dowiedz się więcej o zarządzaniu tym katalogiem na własnym agencie. |
Agent.WorkFolder | Katalog roboczy dla tego agenta. Na przykład: c:\agent_work .Uwaga: ten katalog nie ma gwarancji, że można zapisywać według zadań potoku (na przykład w przypadku mapowania na kontener). |
Przykład elementu Agent.ContainerMapping:
{
"one_container": {
"id": "bdbb357d73a0bd3550a1a5b778b62a4c88ed2051c7802a0659f1ff6e76910190"
},
"another_container": {
"id": "82652975109ec494876a8ccbb875459c945982952e0a72ad74c91216707162bb"
}
}
Zmienne kompilacji (DevOps Server 2022)
Jeśli używasz zmiennej w szablonie, który nie jest oznaczony jako dostępny w szablonach, zmienna nie będzie renderowana. Zmienna nie zostanie 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. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.BuildId | Identyfikator rekordu dla ukończonej kompilacji. | Nie. |
Build.BuildNumber | Nazwa ukończonej kompilacji, znana również jako numer uruchomienia. Możesz określić , co znajduje się w tej wartości. Typowym zastosowaniem tej zmiennej jest uczynienie jej częścią formatu etykiety określonego na karcie repozytorium. Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.BuildUri | Identyfikator URI kompilacji. Na przykład: vstfs:///Build/Build/1430 . Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.BinariesDirectory | Ścieżka lokalna agenta, którego można użyć jako folderu wyjściowego dla skompilowanych plików binarnych. Domyślnie nowe potoki kompilacji nie są skonfigurowane do czyszczenia tego katalogu. Możesz zdefiniować kompilację, aby wyczyścić ją na karcie Repozytorium. Na przykład: c:\agent_work\1\b . Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.ContainerId | Identyfikator kontenera dla artefaktu. Po przekazaniu artefaktu w potoku jest dodawany do kontenera specyficznego dla tego konkretnego artefaktu. | Nie. |
Build.CronSchedule.DisplayName | Harmonogram displayName cron, który wyzwolił uruchomienie potoku. Ta zmienna jest ustawiana tylko wtedy, gdy uruchomienie potoku jest wyzwalane przez zaplanowany wyzwalacz YAML. Aby uzyskać więcej informacji, zobacz schedules.cron definition - Build.CronSchedule.DisplayName variable. Ta zmienna jest dostępna w usłudze Azure DevOps Server 2022.1 i nowszych wersjach. |
Tak |
Build.DefinitionName | Nazwa potoku kompilacji. Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem. |
Tak |
Build.DefinitionVersion | Wersja potoku kompilacji. | Tak |
Build.QueuedBy | Zobacz "Jak są ustawione zmienne tożsamości?". Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem. |
Tak |
Build.QueuedById | Zobacz "Jak są ustawione zmienne tożsamości?). | Tak |
Build.Reason | Zdarzenie, które spowodowało uruchomienie kompilacji.
|
Tak |
Build.Repository.Clean | Wartość wybrana dla opcji Wyczyść w ustawieniach repozytorium źródłowego. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.Repository.LocalPath | Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s . Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium. Ważna uwaga: jeśli wyewidencjonujesz tylko jedno repozytorium Git, ta ścieżka jest dokładną ścieżką do kodu. Jeśli wyewidencjonujesz wiele repozytoriów, zachowanie jest następujące (i może się różnić od wartości zmiennej Build.SourcesDirectory):
|
Nie. |
Build.Repository.ID | Unikatowy identyfikator repozytorium. Nie zmieni się to, nawet jeśli nazwa repozytorium nie zostanie zmieniona. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.Repository.Name | Nazwa repozytorium wyzwalającego. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.Repository.Provider | Typ repozytorium wyzwalającego.
|
Nie. |
Build.Repository.Tfvc.Workspace | Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation. Nazwa obszaru roboczego tfVC używanego przez agenta kompilacji. Jeśli na przykład parametr Agent.BuildDirectory to c:\agent_work\12 , a Agent.Id to 8 , nazwą obszaru roboczego może być: ws_12_8 .Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.Repository.Uri | Adres URL repozytorium wyzwalającego. Na przykład:Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. | Nie. |
Build.RequestedFor | Zobacz "Jak są ustawione zmienne tożsamości?". Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem. |
Tak |
Build.RequestedForEmail | Zobacz "Jak są ustawione zmienne tożsamości?". | Tak |
Build.RequestedForId | Zobacz "Jak są ustawione zmienne tożsamości?". | Tak |
Build.SourceBranch | Gałąź wyzwalającego repozytorium, dla którego została utworzona kompilacja, została utworzona w kolejce. Kilka przykładów:
/ ) 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.
|
Tak |
Build.SourcesDirectory | Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s . Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Ważna uwaga: jeśli wyewidencjonujesz tylko jedno repozytorium Git, ta ścieżka jest dokładną ścieżką do kodu. Jeśli wyewidencjonujesz wiele repozytoriów, zostanie przywrócona jego wartość domyślna, czyli $(Pipeline.Workspace)/s , nawet jeśli repozytorium samodzielne (podstawowe) zostanie wyewidencjonowane do niestandardowej ścieżki innej niż domyślna ścieżka $(Pipeline.Workspace)/s/<RepoName> wielokrotnego wyewidencjonowania (w tym względzie zmienna różni się od zachowania zmiennej Build.Repository.LocalPath).Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.SourceVersion | Najnowsza zmiana kontroli wersji repozytorium wyzwalającego uwzględnionego w tej kompilacji.
|
Tak |
Build.SourceVersionMessage | Komentarz zatwierdzenia lub zestawu zmian dla repozytorium wyzwalającego. Obcinamy komunikat do pierwszego wiersza lub 200 znaków, w zależności od tego, co jest krótsze. Odpowiada Build.SourceVersionMessage komunikatowi w Build.SourceVersion zatwierdzeniu. Zatwierdzenie Build.SourceVersion kompilacji żądania ściągnięcia to zatwierdzenie scalania (a nie zatwierdzenie w gałęzi źródłowej). Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. Ponadto ta zmienna jest dostępna tylko na poziomie kroku i nie jest dostępna na poziomach zadania lub etapu (czyli komunikat nie jest wyodrębniany do momentu uruchomienia zadania i wyewidencjonowania kodu). Uwaga: ta zmienna jest dostępna w programie TFS 2015.4. Uwaga: zmienna Build.SourceVersionMessage nie działa z klasycznymi potokami kompilacji w repozytoriach Bitbucket, gdy usługa Batch zmienia się, gdy kompilacja jest w toku . |
Nie. |
Build.StagingDirectory | Ścieżka lokalna agenta, do którego są kopiowane wszystkie artefakty przed wypchnięciem do ich miejsca docelowego. Na przykład: c:\agent_work\1\a . Typowym sposobem użycia tego folderu jest opublikowanie artefaktów kompilacji za pomocą zadań Kopiowanie plików i Publikowanie artefaktów kompilacji . Uwaga: Element Build.ArtifactStagingDirectory i Build.StagingDirectory są zamienne. Ten katalog jest czyszczony przed każdą nową kompilacją, więc nie trzeba go czyścić samodzielnie. Zobacz Artefakty w usłudze Azure Pipelines. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.Repository.Git.SubmoduleCheckout | Wartość wybrana dla modułów podrzędnych Wyewidencjonuj na karcie repozytorium. Po wyewidencjonowaniu wielu repozytoriów ta wartość śledzi ustawienie wyzwalającego repozytorium. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.SourceTfvcShelveset | Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation. Jeśli korzystasz z ogrodzonych kompilacji lub kompilacji na półce, jest to ustawione na nazwę zestawu półek, który tworzysz. Uwaga: ta zmienna zwraca nieprawidłową wartość do użycia w kompilacji w formacie numeru kompilacji. |
Nie. |
Build.TriggeredBy.BuildId | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość BuildID kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. Jeśli wyzwalasz potok YAML przy użyciu metody resources , należy zamiast tego użyć zmiennych zasobów. |
Nie. |
Build.TriggeredBy.DefinitionId | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość DefinitionID kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. Jeśli wyzwalasz potok YAML przy użyciu metody resources , należy zamiast tego użyć zmiennych zasobów. |
Nie. |
Build.TriggeredBy.DefinitionName | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na nazwę potoku kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. Jeśli wyzwalasz potok YAML przy użyciu metody resources , należy zamiast tego użyć zmiennych zasobów. |
Nie. |
Build.TriggeredBy.BuildNumber | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na liczbę kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. Jeśli wyzwalasz potok YAML przy użyciu metody resources , należy zamiast tego użyć zmiennych zasobów. |
Nie. |
Build.TriggeredBy.ProjectID | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na identyfikator projektu zawierającego kompilację wyzwalającą. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. Jeśli wyzwalasz potok YAML przy użyciu metody resources , należy zamiast tego użyć zmiennych zasobów. |
Nie. |
Common.TestResultsDirectory | Ścieżka lokalna agenta, w którym są tworzone wyniki testu. Na przykład: c:\agent_work\1\TestResults . Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Zmienne potoku (DevOps Server 2022)
Zmienna | opis |
---|---|
Pipeline.Workspace | Katalog obszaru roboczego dla określonego potoku. Ta zmienna ma taką samą wartość jak Agent.BuildDirectory . Na przykład /home/vsts/work/1 . |
Napiwek
Jeśli używasz klasycznych potoków wydania, możesz użyć klasycznych wydań i zmiennych artefaktów do przechowywania i uzyskiwania dostępu do danych w całym potoku.
Zmienne zadania wdrożenia (DevOps Server 2022)
Te zmienne są ograniczone do określonego zadania wdrożenia i zostaną rozwiązane tylko w czasie wykonywania zadania.
Zmienna | opis |
---|---|
Environment.Name | Nazwa środowiska docelowego w zadaniu wdrażania, aby uruchomić kroki wdrażania i zarejestrować historię wdrożenia. Na przykład smarthotel-dev . |
Environment.Id | Identyfikator środowiska docelowego w zadaniu wdrażania. Na przykład 10 . |
Environment.ResourceName | Nazwa określonego zasobu w środowisku docelowym w zadaniu wdrażania, aby uruchomić kroki wdrażania i zarejestrować historię wdrożenia. Na przykład bookings jest to przestrzeń nazw Kubernetes, która została dodana jako zasób do środowiska smarthotel-dev . |
Environment.ResourceId | Identyfikator określonego zasobu w środowisku docelowym w zadaniu wdrażania, aby uruchomić kroki wdrażania. Na przykład 4 . |
Strategy.Name | Nazwa strategii wdrażania: canary , runOnce lub rolling . |
Strategy.CycleName | Bieżąca nazwa cyklu we wdrożeniu. Opcje to PreIteration , Iteration lub 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 będzie renderowana. Zmienna nie zostanie 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 ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Tak |
System.CollectionId | Identyfikator GUID kolekcji TFS lub organizacji usługi Azure DevOps. | Tak |
System.CollectionUri | Identyfikator URI kolekcji TFS lub organizacji usługi Azure DevOps. Na przykład: https://dev.azure.com/fabrikamfiber/ . |
Tak |
System.DefaultWorkingDirectory | Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s .Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium. Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Tak |
System.DefinitionId | Identyfikator potoku kompilacji. | Tak |
System.HostType | Ustaw wartość na build , jeśli potok jest kompilacją. W przypadku wydania wartości są przeznaczone deployment dla zadania grupy wdrożenia, gates podczas oceny bram i release dla innych zadań (agenta i bez agenta). |
Tak |
System.JobAttempt | Ustaw wartość 1 przy pierwszej próbie wykonania tego zadania i zwiększa się za każdym razem, gdy zadanie jest ponawiane. | Nie. |
System.JobDisplayName | Czytelna dla człowieka nazwa nadana pracy. | Nie. |
System.JobId | Unikatowy identyfikator pojedynczej próby pojedynczego zadania. Wartość jest unikatowa dla bieżącego potoku. | Nie. |
System.JobName | Nazwa zadania, zwykle używana do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. | Nie. |
System.PhaseAttempt | Ustaw wartość 1 przy pierwszej próbie wykonania tej fazy i zwiększa się za każdym razem, gdy zadanie jest ponawiane. Uwaga: "Faza" jest głównie nadmiarową koncepcją, która reprezentuje czas projektowania zadania (natomiast zadanie było wersją środowiska uruchomieniowego fazy). W większości usunęliśmy koncepcję "fazy" z usługi Azure Pipelines. Zadania macierzy i wielokonfiguracji są jedynym miejscem, w którym "faza" nadal różni się od "zadania". Jedna faza może utworzyć wystąpienie wielu zadań, które różnią się tylko swoimi danymi wejściowymi. |
Nie. |
System.PhaseDisplayName | Nazwa czytelna dla człowieka nadana fazie. | Nie. |
System.PhaseName | Identyfikator oparty na ciągach dla zadania, zwykle używany do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. | Nie. |
System.PlanId | Identyfikator oparty na ciągu dla pojedynczego przebiegu potoku. | Nie. |
System.PullRequest.IsFork | Jeśli żądanie ściągnięcia pochodzi z rozwidlenia repozytorium, ta zmienna ma wartość True . W przeciwnym razie ustawiono wartość False . |
Tak |
System.PullRequest.PullRequestId | Identyfikator żądania ściągnięcia, który spowodował tę kompilację. Na przykład: 17 . (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). |
Nie. |
System.PullRequest.PullRequestNumber | Liczba żądań ściągnięcia, które spowodowało tę kompilację. Ta zmienna jest wypełniana dla żądań ściągnięcia z usługi GitHub, które mają inny identyfikator żądania ściągnięcia i numer żądania ściągnięcia. Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. | Nie. |
System.PullRequest.targetBranchName | Nazwa gałęzi docelowej dla żądania ściągnięcia. Ta zmienna może służyć w potoku do warunkowego wykonywania zadań lub kroków na podstawie gałęzi docelowej żądania ściągnięcia. Na przykład możesz chcieć wyzwolić inny zestaw testów lub narzędzi do analizy kodu w zależności od gałęzi, w której zmiany są scalane. | Nie. |
System.PullRequest.SourceBranch | Gałąź, która jest przeglądana w żądaniu ściągnięcia. Na przykład: refs/heads/users/raisa/new-feature dla usługi Azure Repos. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. |
Nie. |
System.PullRequest.SourceRepositoryURI | Adres URL repozytorium, który zawiera żądanie ściągnięcia. Na przykład: https://dev.azure.com/ouraccount/_git/OurProject . |
Nie. |
System.PullRequest.TargetBranch | Gałąź, która jest elementem docelowym żądania ściągnięcia. Na przykład: refs/heads/main gdy repozytorium znajduje się w usłudze Azure Repos i main gdy repozytorium znajduje się w usłudze GitHub. Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powodu żądania ściągnięcia usługi Git objętego zasadami gałęzi. Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. |
Nie. |
System.StageAttempt | Ustaw wartość 1 przy pierwszej próbie tego etapu i zwiększa się za każdym razem, gdy etap zostanie ponowiony. | Nie. |
System.StageDisplayName | Czytelna dla człowieka nazwa nadana etapowi. | Nie. |
System.StageName | Identyfikator oparty na ciągach dla etapu, zwykle używany do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. | Nie. |
System.TeamFoundationCollectionUri | Identyfikator URI kolekcji TFS lub organizacji usługi Azure DevOps. Na przykład: https://dev.azure.com/fabrikamfiber/ . Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Tak |
System.TeamProject | Nazwa projektu, który zawiera tę kompilację. | Tak |
System.TeamProjectId | Identyfikator projektu, do którego należy ta kompilacja. | Tak |
System.TimelineId | Identyfikator oparty na ciągu dla szczegółów wykonywania i dzienników pojedynczego przebiegu potoku. | Nie. |
TF_BUILD | Ustaw wartość na True , jeśli skrypt jest uruchamiany przez zadanie kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Sprawdza zmienne (DevOps Server 2022)
Zmienna | opis |
---|---|
Checks.StageAttempt | Ustaw wartość 1 przy pierwszej próbie tego etapu i zwiększa się za każdym razem, gdy etap zostanie ponowiony. Tej zmiennej można używać tylko w ramach zatwierdzenia lub sprawdzania środowiska. Na przykład można użyć $(Checks.StageAttempt) w ramach sprawdzania wywołania interfejsu API REST. |
Zmienne agenta (DevOps Server 2020)
Uwaga
Zmienne agenta można używać jako zmiennych środowiskowych w skryptach i jako parametrów w zadaniach kompilacji. Nie można ich użyć do dostosowania numeru kompilacji lub zastosowania etykiety lub tagu kontroli wersji.
Zmienna | opis |
---|---|
Agent.BuildDirectory | Ścieżka lokalna agenta, w którym są tworzone wszystkie foldery dla danego potoku kompilacji. Ta zmienna ma taką samą wartość jak Pipeline.Workspace . Na przykład: /home/vsts/work/1 . |
Agent.HomeDirectory | Katalog, w którym jest zainstalowany agent. Zawiera oprogramowanie agenta. Na przykład: c:\agent . |
Agent.Id | Identyfikator agenta. |
Agent.JobName | Nazwa uruchomionego zadania. Zwykle będzie to "Zadanie" lub "__default", ale w scenariuszach obejmujących wiele konfiguracji będzie konfiguracją. |
Agent.JobStatus | Stan kompilacji.
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:
|
Agent.OSArchitecture | Architektura procesora systemu operacyjnego hosta agenta. Prawidłowe wartości to:
|
Agent.TempDirectory | Folder tymczasowy, który jest czyszczony po każdym zadaniu potoku. Ten katalog jest używany przez zadania, takie jak zadanie interfejsu wiersza polecenia platformy .NET Core do przechowywania tymczasowych elementów, takich jak wyniki testów przed ich opublikowaniem. Na przykład: /home/vsts/work/_temp dla systemu Ubuntu. |
Agent.ToolsDirectory | Katalog używany przez zadania, takie jak Instalator narzędzi node i Używanie wersji języka Python do przełączania się między wieloma wersjami narzędzia. Te zadania dodają narzędzia z tego katalogu do programu , aby PATH kolejne kroki kompilacji mogły ich używać. Dowiedz się więcej o zarządzaniu tym katalogiem na własnym agencie. |
Agent.WorkFolder | Katalog roboczy dla tego agenta. Na przykład: c:\agent_work . Uwaga: ten katalog nie ma gwarancji, że można zapisywać według zadań potoku (na przykład w przypadku zamapowania na kontener) |
Zmienne kompilacji (DevOps Server 2020)
Jeśli używasz zmiennej w szablonie, który nie jest oznaczony jako dostępny w szablonach, zmienna nie będzie renderowana. Zmienna nie zostanie 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. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.BuildId | Identyfikator rekordu dla ukończonej kompilacji. | Nie. |
Build.BuildNumber | Nazwa ukończonej kompilacji, znana również jako numer uruchomienia. Możesz określić , co znajduje się w tej wartości. Typowym zastosowaniem tej zmiennej jest uczynienie jej częścią formatu etykiety określonego na karcie repozytorium. Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.BuildUri | Identyfikator URI kompilacji. Na przykład: vstfs:///Build/Build/1430 . Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.BinariesDirectory | Ścieżka lokalna agenta, którego można użyć jako folderu wyjściowego dla skompilowanych plików binarnych. Domyślnie nowe potoki kompilacji nie są skonfigurowane do czyszczenia tego katalogu. Możesz zdefiniować kompilację, aby wyczyścić ją na karcie Repozytorium. Na przykład: c:\agent_work\1\b . Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.ContainerId | Identyfikator kontenera dla artefaktu. Po przekazaniu artefaktu w potoku jest dodawany do kontenera specyficznego dla tego konkretnego artefaktu. | Nie. |
Build.DefinitionName | Nazwa potoku kompilacji. Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety zakończy się niepowodzeniem. |
Tak |
Build.DefinitionVersion | Wersja potoku kompilacji. | Tak |
Build.QueuedBy | Zobacz "Jak są ustawione zmienne tożsamości?". Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem. |
Tak |
Build.QueuedById | Zobacz "Jak są ustawione zmienne tożsamości?". | Tak |
Build.Reason | Zdarzenie, które spowodowało uruchomienie kompilacji.
|
Tak |
Build.Repository.Clean | Wartość wybrana dla opcji Wyczyść w ustawieniach repozytorium źródłowego. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.Repository.LocalPath | Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s . Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium. Ważna uwaga: jeśli wyewidencjonujesz tylko jedno repozytorium Git, ta ścieżka będzie dokładną ścieżką do kodu. Jeśli wyewidencjonujesz wiele repozytoriów, zachowanie jest następujące (i może się różnić od wartości zmiennej Build.SourcesDirectory):
|
Nie. |
Build.Repository.ID | Unikatowy identyfikator repozytorium. Nie zmieni się to, nawet jeśli nazwa repozytorium nie zostanie zmieniona. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.Repository.Name | Nazwa repozytorium wyzwalającego. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.Repository.Provider | Typ repozytorium wyzwalającego.
|
Nie. |
Build.Repository.Tfvc.Workspace | Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation. Nazwa obszaru roboczego tfVC używanego przez agenta kompilacji. Jeśli na przykład parametr Agent.BuildDirectory to c:\agent_work\12 , a Agent.Id to 8 , nazwą obszaru roboczego może być: ws_12_8 . Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.Repository.Uri | Adres URL repozytorium wyzwalającego. Na przykład: Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.RequestedFor | Zobacz "Jak są ustawione zmienne tożsamości?". Uwaga: ta wartość może zawierać białe znaki lub inne nieprawidłowe znaki etykiety. W takich przypadkach format etykiety kończy się niepowodzeniem. |
Tak |
Build.RequestedForEmail | Zobacz "Jak są ustawione zmienne tożsamości?". | Tak |
Build.RequestedForId | Zobacz "Jak są ustawione zmienne tożsamości?". | Tak |
Build.SourceBranch | Gałąź wyzwalającego repozytorium, dla którego została utworzona kompilacja, została utworzona w kolejce. Kilka przykładów:
/ ) 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.
|
Tak |
Build.SourcesDirectory | Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s . Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Ważna uwaga: jeśli wyewidencjonujesz tylko jedno repozytorium Git, ta ścieżka jest dokładną ścieżką do kodu. Jeśli wyewidencjonujesz wiele repozytoriów, zostanie przywrócona jego wartość domyślna, czyli $(Pipeline.Workspace)/s , nawet jeśli repozytorium samodzielne (podstawowe) zostanie wyewidencjonowane do niestandardowej ścieżki innej niż domyślna ścieżka $(Pipeline.Workspace)/s/<RepoName> wielokrotnego wyewidencjonowania (w tym względzie zmienna różni się od zachowania zmiennej Build.Repository.LocalPath). Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.SourceVersion | Najnowsza zmiana kontroli wersji repozytorium wyzwalającego uwzględnionego w tej kompilacji.
|
Tak |
Build.SourceVersionMessage | Komentarz zatwierdzenia lub zestawu zmian dla repozytorium wyzwalającego. Obcinamy komunikat do pierwszego wiersza lub 200 znaków, w zależności od tego, co jest krótsze. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. Ponadto ta zmienna jest dostępna tylko na poziomie kroku i nie jest dostępna na poziomach zadania lub etapu (czyli komunikat nie jest wyodrębniany, dopóki zadanie nie zostało uruchomione i wyewidencjonowane kod). Uwaga: ta zmienna jest dostępna w programie TFS 2015.4. Uwaga: zmienna Build.SourceVersionMessage nie działa z klasycznymi potokami kompilacji w repozytoriach Bitbucket, gdy usługa Batch zmienia się, gdy kompilacja jest w toku . |
Nie. |
Build.StagingDirectory | Ścieżka lokalna agenta, do którego są kopiowane wszystkie artefakty przed wypchnięciem do ich miejsca docelowego. Na przykład: c:\agent_work\1\a . Typowym sposobem użycia tego folderu jest opublikowanie artefaktów kompilacji za pomocą zadań Kopiowanie plików i Publikowanie artefaktów kompilacji . Uwaga: Element Build.ArtifactStagingDirectory i Build.StagingDirectory są zamienne. Ten katalog jest czyszczony przed każdą nową kompilacją, więc nie trzeba go czyścić samodzielnie. Zobacz Artefakty w usłudze Azure Pipelines. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.Repository.Git.SubmoduleCheckout | Wartość wybrana dla modułów podrzędnych Wyewidencjonuj na karcie repozytorium. Po wyewidencjonowaniu wielu repozytoriów ta wartość śledzi ustawienie wyzwalającego repozytorium. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.SourceTfvcShelveset | Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation. Jeśli korzystasz z ogrodzonych kompilacji lub kompilacji na półce, jest to ustawione na nazwę zestawu półek, który tworzysz. Uwaga: ta zmienna zwraca nieprawidłową wartość do użycia w kompilacji w formacie numeru kompilacji. |
Nie. |
Build.TriggeredBy.BuildId | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość BuildID kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.TriggeredBy.DefinitionId | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość DefinitionID kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.TriggeredBy.DefinitionName | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na nazwę potoku kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.TriggeredBy.BuildNumber | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na liczbę kompilacji wyzwalającej. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Build.TriggeredBy.ProjectID | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na identyfikator projektu zawierającego kompilację wyzwalającą. W potokach klasycznych ta zmienna jest wyzwalana przez wyzwalacz uzupełniania kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Common.TestResultsDirectory | Ścieżka lokalna agenta, w którym są tworzone wyniki testu. Na przykład: c:\agent_work\1\TestResults . Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Zmienne potoku (DevOps Server 2020)
Zmienna | opis |
---|---|
Pipeline.Workspace | Katalog obszaru roboczego dla określonego potoku. Ta zmienna ma taką samą wartość jak Agent.BuildDirectory . Na przykład /home/vsts/work/1 . |
Zmienne zadania wdrożenia (DevOps Server 2020)
Te zmienne są ograniczone do określonego zadania wdrożenia i zostaną rozwiązane tylko w czasie wykonywania zadania.
Zmienna | opis |
---|---|
Environment.Name | Nazwa środowiska docelowego w zadaniu wdrażania, aby uruchomić kroki wdrażania i zarejestrować historię wdrożenia. Na przykład smarthotel-dev . |
Environment.Id | Identyfikator środowiska docelowego w zadaniu wdrażania. Na przykład 10 . |
Environment.ResourceName | Nazwa określonego zasobu w środowisku docelowym w zadaniu wdrażania, aby uruchomić kroki wdrażania i zarejestrować historię wdrożenia. Na przykład bookings jest to przestrzeń nazw Kubernetes, która została dodana jako zasób do środowiska smarthotel-dev . |
Environment.ResourceId | Identyfikator określonego zasobu w środowisku docelowym w zadaniu wdrażania, aby uruchomić kroki wdrażania. Na przykład 4 . |
Zmienne systemowe (DevOps Server 2020)
Jeśli używasz zmiennej w szablonie, który nie jest oznaczony jako dostępny w szablonach, zmienna nie będzie renderowana. Zmienna nie zostanie 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 ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Tak |
System.CollectionId | Identyfikator GUID kolekcji TFS lub organizacji usługi Azure DevOps | Tak |
System.CollectionUri | Identyfikator URI kolekcji serwera Team Foundation Server. | Tak |
System.DefaultWorkingDirectory | Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s .Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium. Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
System.DefinitionId | Identyfikator potoku kompilacji. | Tak |
System.HostType | Ustaw wartość na build , jeśli potok jest kompilacją. W przypadku wydania wartości są przeznaczone deployment dla zadania grupy wdrożenia, gates podczas oceny bram i release dla innych zadań (agenta i bez agenta). |
Tak |
System.JobAttempt | Ustaw wartość 1 przy pierwszej próbie wykonania tego zadania i zwiększa się za każdym razem, gdy zadanie jest ponawiane. | Nie. |
System.JobDisplayName | Czytelna dla człowieka nazwa nadana pracy. | Nie. |
System.JobId | Unikatowy identyfikator pojedynczej próby pojedynczego zadania. Wartość jest unikatowa dla bieżącego potoku. | Nie. |
System.JobName | Nazwa zadania, zwykle używana do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. | Nie. |
System.PhaseAttempt | Ustaw wartość 1 przy pierwszej próbie wykonania tej fazy i zwiększa się za każdym razem, gdy zadanie jest ponawiane. Uwaga: "Faza" jest głównie nadmiarową koncepcją, która reprezentuje czas projektowania zadania (natomiast zadanie było wersją środowiska uruchomieniowego fazy). W większości usunęliśmy koncepcję "fazy" z usługi Azure Pipelines. Zadania macierzy i wielokonfiguracji są jedynym miejscem, w którym "faza" nadal różni się od "zadania". Jedna faza może utworzyć wystąpienie wielu zadań, które różnią się tylko swoimi danymi wejściowymi. |
Nie. |
System.PhaseDisplayName | Nazwa czytelna dla człowieka nadana fazie. | Nie. |
System.PhaseName | Identyfikator oparty na ciągach dla zadania, zwykle używany do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. | Nie. |
System.StageAttempt | Ustaw wartość 1 przy pierwszej próbie wykonania tego etapu i zwiększa się za każdym razem, gdy zadanie jest ponawiane. | Nie. |
System.StageDisplayName | Czytelna dla człowieka nazwa nadana etapowi. | Nie. |
System.StageName | Identyfikator oparty na ciągach dla etapu, zwykle używany do wyrażania zależności i uzyskiwania dostępu do zmiennych wyjściowych. | Tak |
System.PullRequest.IsFork | Jeśli żądanie ściągnięcia pochodzi z rozwidlenia repozytorium, ta zmienna ma wartość True . W przeciwnym razie ustawiono wartość False . |
Tak |
System.PullRequest.PullRequestId | Identyfikator żądania ściągnięcia, który spowodował tę kompilację. Na przykład: 17 . (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). |
Nie. |
System.PullRequest.PullRequestNumber | Liczba żądań ściągnięcia, które spowodowało tę kompilację. Ta zmienna jest wypełniana dla żądań ściągnięcia z usługi GitHub, które mają inny identyfikator żądania ściągnięcia i numer żądania ściągnięcia. Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. | Nie. |
System.PullRequest.targetBranchName | Nazwa gałęzi docelowej dla żądania ściągnięcia. Ta zmienna może służyć w potoku do warunkowego wykonywania zadań lub kroków na podstawie gałęzi docelowej żądania ściągnięcia. Na przykład możesz chcieć wyzwolić inny zestaw testów lub narzędzi do analizy kodu w zależności od gałęzi, w której zmiany są scalane. | Nie. |
System.PullRequest.SourceBranch | Gałąź, która jest przeglądana w żądaniu ściągnięcia. Na przykład: refs/heads/users/raisa/new-feature . (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. |
Nie. |
System.PullRequest.SourceCommitId | Zatwierdzenie, które jest przeglądane w żądaniu ściągnięcia. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. | |
System.PullRequest.SourceRepositoryURI | Adres URL repozytorium, który zawiera żądanie ściągnięcia. Na przykład: https://dev.azure.com/ouraccount/_git/OurProject . |
Nie. |
System.PullRequest.TargetBranch | Gałąź, która jest elementem docelowym żądania ściągnięcia. Na przykład: refs/heads/main gdy repozytorium znajduje się w usłudze Azure Repos i main gdy repozytorium znajduje się w usłudze GitHub. Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powodu żądania ściągnięcia usługi Git objętego zasadami gałęzi. Ta zmienna jest dostępna tylko w potoku YAML, jeśli żądanie ściągnięcia ma wpływ na zasady gałęzi. |
Nie. |
System.TeamFoundationCollectionUri | Identyfikator URI kolekcji team foundation. Na przykład: https://dev.azure.com/fabrikamfiber/ . Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Tak |
System.TeamProject | Nazwa projektu, który zawiera tę kompilację. | Tak |
System.TeamProjectId | Identyfikator projektu, do którego należy ta kompilacja. | Tak |
TF_BUILD | Ustaw wartość na True , jeśli skrypt jest uruchamiany przez zadanie kompilacji. Ta zmienna jest ograniczona do zakresu agenta i może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Nie. |
Zmienne agenta (DevOps Server 2019)
Uwaga
Zmienne agenta można używać jako zmiennych środowiskowych w skryptach i jako parametrów w zadaniach kompilacji. Nie można ich użyć do dostosowania numeru kompilacji lub zastosowania etykiety lub tagu kontroli wersji.
Zmienna | opis |
---|---|
Agent.BuildDirectory | Ścieżka lokalna agenta, w którym są tworzone wszystkie foldery dla danego potoku kompilacji. Na przykład: c:\agent_work\1 . |
Agent.HomeDirectory | Katalog, w którym jest zainstalowany agent. Zawiera oprogramowanie agenta. Na przykład: c:\agent . |
Agent.Id | Identyfikator agenta. |
Agent.JobName | Nazwa uruchomionego zadania. Zwykle będzie to "Zadanie" lub "__default", ale w scenariuszach obejmujących wiele konfiguracji będzie konfiguracją. |
Agent.JobStatus | Stan kompilacji.
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:
|
Agent.OSArchitecture | Architektura procesora systemu operacyjnego hosta agenta. Prawidłowe wartości to:
|
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.
|
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.
|
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:
/ ) 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.
|
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.
|
Build.SourceVersionMessage | Komentarz zatwierdzenia lub zestawu zmian. Obcinamy komunikat do pierwszego wiersza lub 200 znaków, w zależności od tego, co jest krótsze. Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. Uwaga: ta zmienna jest dostępna w programie TFS 2015.4. Uwaga: zmienna Build.SourceVersionMessage nie działa z klasycznymi potokami kompilacji w repozytoriach Bitbucket, gdy usługa Batch zmienia się, gdy kompilacja jest w toku . |
Build.StagingDirectory | Ścieżka lokalna agenta, do którego są kopiowane wszystkie artefakty przed wypchnięciem do ich miejsca docelowego. Na przykład: c:\agent_work\1\a . Typowym sposobem użycia tego folderu jest opublikowanie artefaktów kompilacji za pomocą zadań Kopiowanie plików i Publikowanie artefaktów kompilacji . Uwaga: Element Build.ArtifactStagingDirectory i Build.StagingDirectory są zamienne. Ten katalog jest czyszczony przed każdą nową kompilacją, więc nie trzeba go czyścić samodzielnie. Zobacz Artefakty w usłudze Azure Pipelines. Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Build.Repository.Git.SubmoduleCheckout | Wartość wybrana dla modułów podrzędnych Wyewidencjonuj na karcie repozytorium. Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Build.SourceTfvcShelveset | Zdefiniowano, jeśli repozytorium jest Kontrola wersji serwera Team Foundation. Jeśli korzystasz z ogrodzonych kompilacji lub kompilacji na półce, jest to ustawione na nazwę zestawu półek, który tworzysz. Uwaga: ta zmienna zwraca nieprawidłową wartość do użycia w kompilacji w formacie numeru kompilacji. |
Build.TriggeredBy.BuildId | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość BuildID kompilacji wyzwalającej. Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Build.TriggeredBy.DefinitionId | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na wartość DefinitionID kompilacji wyzwalającej. Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Build.TriggeredBy.DefinitionName | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na nazwę potoku kompilacji wyzwalającej. Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Build.TriggeredBy.BuildNumber | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na liczbę kompilacji wyzwalającej. Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Build.TriggeredBy.ProjectID | Jeśli kompilacja została wyzwolona przez inną kompilację, ta zmienna jest ustawiona na identyfikator projektu zawierającego kompilację wyzwalającą. Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Common.TestResultsDirectory | Ścieżka lokalna agenta, w którym są tworzone wyniki testu. Na przykład: c:\agent_work\1\TestResults . Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Zmienne systemowe (DevOps Server 2019)
Przykładowy skrypt programu PowerShell: dostęp do interfejsu API REST
Zmienna | opis |
---|---|
System.AccessToken |
Użyj tokenu OAuth, aby uzyskać dostęp do interfejsu API REST. Użyj elementu System.AccessToken ze skryptów YAML. Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
System.CollectionId | Identyfikator GUID kolekcji TFS lub organizacji usługi Azure DevOps |
System.DefaultWorkingDirectory | Ścieżka lokalna agenta, w którym są pobierane pliki kodu źródłowego. Na przykład: c:\agent_work\1\s .Domyślnie nowe potoki kompilacji aktualizują tylko zmienione pliki. Możesz zmodyfikować sposób pobierania plików na karcie Repozytorium. Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
System.DefinitionId | Identyfikator potoku kompilacji. |
System.HostType | Ustaw wartość na build , jeśli potok jest kompilacją. W przypadku wydania wartości są przeznaczone deployment dla zadania grupy wdrożenia i release zadania agenta. |
System.PullRequest.IsFork | Jeśli żądanie ściągnięcia pochodzi z rozwidlenia repozytorium, ta zmienna ma wartość True . W przeciwnym razie jest ustawiona wartość False . |
System.PullRequest.PullRequestId | Identyfikator żądania ściągnięcia, który spowodował tę kompilację. Na przykład: 17 . (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). |
System.PullRequest.PullRequestNumber | Liczba żądań ściągnięcia, które spowodowało tę kompilację. Ta zmienna jest wypełniana dla żądań ściągnięcia z usługi GitHub, które mają inny identyfikator żądania ściągnięcia i numer żądania ściągnięcia. |
System.PullRequest.SourceBranch | Gałąź, która jest przeglądana w żądaniu ściągnięcia. Na przykład: refs/heads/users/raisa/new-feature . (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). |
System.PullRequest.SourceCommitId | Zatwierdzenie, które jest przeglądane w żądaniu ściągnięcia. (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia usługi Git, którego dotyczy zasady gałęzi). |
System.PullRequest.SourceRepositoryURI | Adres URL repozytorium, który zawiera żądanie ściągnięcia. Na przykład: https://dev.azure.com/ouraccount/_git/OurProject . (Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powoduŻądanie ściągnięcia git usługi Azure Repos, którego dotyczy zasada gałęzi. Nie jest on inicjowany dla żądania ściągnięcia w usłudze GitHub. |
System.PullRequest.TargetBranch | Gałąź, która jest elementem docelowym żądania ściągnięcia. Na przykład: refs/heads/main . Ta zmienna jest inicjowana tylko wtedy, gdy kompilacja została uruchomiona z powodu żądania ściągnięcia usługi Git objętego zasadami gałęzi. |
System.TeamFoundationCollectionUri | Identyfikator URI kolekcji team foundation. Na przykład: https://dev.azure.com/fabrikamfiber/ . Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
System.TeamProject | Nazwa projektu, który zawiera tę kompilację. |
System.TeamProjectId | Identyfikator projektu, do którego należy ta kompilacja. |
TF_BUILD | Ustaw wartość na True , jeśli skrypt jest uruchamiany przez zadanie kompilacji. Ta zmienna jest ograniczona do zakresu agenta. Może być używana jako zmienna środowiskowa w skry skrycie i jako parametr w zadaniu kompilacji, ale nie jako część numeru kompilacji lub jako tag kontroli wersji. |
Jak ustawiane są zmienne tożsamości?
Wartość zależy od przyczyn kompilacji i są specyficzne dla repozytoriów usługi Azure Repos.
Jeśli kompilacja zostanie wyzwolona... | Następnie wartości Build.QueuedBy i Build.QueuedById są oparte na... | Następnie wartości Build.RequestedFor i Build.RequestedForId są oparte na... |
---|---|---|
W usłudze Git lub przez wyzwalacze ciągłej integracji | Tożsamość systemu, na przykład: [DefaultCollection]\Project Collection Service Accounts |
Osoba, która wypchnęła lub zaewidencjonowała zmiany. |
W usłudze Git lub w kompilacji zasad gałęzi. | Tożsamość systemu, na przykład: [DefaultCollection]\Project Collection Service Accounts |
Osoba, która zaewidencjonował zmiany. |
Na serwerze TFVC przez wyzwalacz zaewidencjonowany | Osoba, która zaewidencjonował zmiany. | Osoba, która zaewidencjonował zmiany. |
W usłudze Git lub tfVC według zaplanowanych wyzwalaczy | Tożsamość systemu, na przykład: [DefaultCollection]\Project Collection Service Accounts |
Tożsamość systemu, na przykład: [DefaultCollection]\Project Collection Service Accounts |
Ponieważ kliknięliśmy przycisk Kompilacja kolejki | Ty | Ty |
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
jestSucceeded
lubSucceededWithIssues
.
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.