使用預先定義的變數
Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019 |TFS 2018
注意
在 Microsoft Team Foundation Server 2018 和舊版中,組建和發行 管線 稱為 定義 、 執行 稱為組建 、服務連線 稱為 服務端點 、 階段稱為 環境 ,而 作業 稱為 階段 。
變數提供將重要資料位元匯入管道不同部分的便利方式。 這是可供您使用的預先定義變數清單。 可能有一些其他預先定義的變數,但大部分是供內部使用。
系統會自動設定這些變數,而且是唯讀的。 (例外狀況為 Build.Clean 和 System.Debug。)
在 YAML 管線中,您可以將預先定義的變數參考為環境變數。 例如,變數 Build.ArtifactStagingDirectory
會變成 變數 BUILD_ARTIFACTSTAGINGDIRECTORY
。
針對傳統管線,您可以在部署工作中使用 發行變數 來共用通用資訊(例如環境名稱、資源群組等)。
深入瞭解 如何使用變數 。
Build.Clean
這是已淘汰的變數,可修改組建代理程式如何清除來源。 若要瞭解如何清除來源,請參閱 清除代理程式 上的本機存放庫。
System.AccessToken
System.AccessToken
是一個特殊變數,會攜帶執行中組建所使用的安全性權杖。
在 YAML 中,您必須使用變數明確對應 System.AccessToken
至管線。 您可以在步驟或工作層級執行此動作:
steps:
- bash: echo This script could use $SYSTEM_ACCESSTOKEN
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
- powershell: |
Write-Host "This is a script that could use $env:SYSTEM_ACCESSTOKEN"
Write-Host "$env:SYSTEM_ACCESSTOKEN = $(System.AccessToken)"
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
System.Debug
如需偵錯管線問題的詳細記錄,請定義 System.Debug
並將其設定為 true
。
編輯您的管線。
選取變數。
新增具有名稱和
System.Debug
值true
的新變數。儲存新的變數。
設定 System.Debug
以 true
設定所有執行的詳細資訊記錄。 您也可以使用 [ 啟用系統診斷] 核取方塊來設定單一執行的詳細資訊記錄 。
您也可以將 設定 System.Debug
true
為 管線或範本中的變數。
variables:
system.debug: 'true'
當 設定為 時 System.Debug
,名為 Agent.Diagnostic
的額外變數會設定為 true
。 true
當 是 true
時 Agent.Diagnostic
,代理程式會收集更多記錄,以便針對自我裝載代理程式的網路問題進行疑難排解。 如需詳細資訊,請參閱自我裝載式代理程式的網路診斷。
注意
此 Agent.Diagnostic
變數適用于 Agent v2.200.0 和更新版本。
如需詳細資訊,請參閱檢閱記錄以診斷管線問題。
代理程式變數 (DevOps Services)
注意
您可以使用代理程式變數作為腳本中的環境變數,以及做為建置工作中的參數。 您無法使用它們來自訂群組建編號,或套用版本控制標籤或標籤。
變數 | 描述 |
---|---|
Agent.BuildDirectory | 代理程式上的本機路徑,其中會建立指定組建管線的所有資料夾。 此變數的值與 Pipeline.Workspace 相同。 例如: /home/vsts/work/1 。 |
Agent.ContainerMapping | 從 YAML 中的容器資源名稱對應到執行時間的 Docker 識別碼。 範例如下表。 |
Agent.HomeDirectory | 代理程式安裝到的目錄。 這包括代理程式軟體。 例如: c:\agent 。 |
Agent.Id | 代理程式的識別碼。 |
Agent.JobName | 執行中作業的名稱。 這通常是「作業」;或 「__default」,但在多重設定案例中,將會是組態。 |
Agent.JobStatus | 組建的狀態。
AGENT_JOBSTATUS 。 較舊的 agent.jobstatus 版本可供回溯相容性使用。 |
Agent.MachineName | 安裝代理程式的電腦名稱稱。 |
Agent.Name | 向集區註冊的代理程式名稱。 如果您使用自我裝載代理程式,則此名稱是由您指定。 請參閱 代理程式 。 |
Agent.OS | 代理程式主機的作業系統。 有效值為:
|
Agent.OSArchitecture | 代理程式主機的作業系統處理器架構。 有效值為:
|
Agent.TempDirectory | 在每個管線作業之後清除的暫存資料夾。 .NET Core CLI 工作等 工作會使用此目錄來保存暫存專案,例如測試結果發佈之前。 例如: /home/vsts/work/_temp 適用于 Ubuntu。 |
Agent.ToolsDirectory | 節點工具安裝程式 和使用 Python 版本 等 工作所使用的目錄,可在工具的多個版本之間切換。 這些工作會將工具從這個目錄新增至 , PATH 讓後續的建置步驟可以使用它們。瞭解如何 在自我裝載代理程式 上管理此目錄。 |
Agent.WorkFolder | 此代理程式的工作目錄。 例如: c:\agent_work 。注意:此目錄不保證可由管線工作寫入(例如,對應至容器時) |
Agent.ContainerMapping 的 範例:
{
"one_container": {
"id": "bdbb357d73a0bd3550a1a5b778b62a4c88ed2051c7802a0659f1ff6e76910190"
},
"another_container": {
"id": "82652975109ec494876a8ccbb875459c945982952e0a72ad74c91216707162bb"
}
}
建置變數 (DevOps Services)
變數 | 描述 | 可在範本 中使用 ? |
---|---|---|
Build.ArtifactStagingDirectory | 將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: c:\agent_work\1\a 。使用此資料夾的一般方式是使用複製檔案 和 發佈組建成品工作 來發佈 組建成品。 注意:Build.ArtifactStagingDirectory 和 Build.StagingDirectory 可交換。 此目錄會在每個新組建之前清除,因此您不需要自行清除目錄。 請參閱 Azure Pipelines 中的成品。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.BuildId | 已完成組建之記錄的識別碼。 | No |
Build.BuildNumber | 已完成組建的名稱,也稱為執行編號。 您可以指定 此值中包含的內容 。 此變數的一般用法是讓它成為您在存放庫 索引標籤上指定之標籤格式的 一部分。 注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.BuildUri | 組建的 URI。 例如: vstfs:///Build/Build/1430 。此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.BinariesDirectory | 代理程式上的本機路徑,您可以做為已編譯二進位檔的輸出檔案夾。 根據預設,不會設定新的組建管線來清除此目錄。 您可以定義組建,以在 [存放庫 ] 索引標籤上 清除它。 例如: c:\agent_work\1\b 。此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.ContainerId | 成品容器的識別碼。 當您在管線中上傳成品時,它會新增至該特定成品特定的容器。 | No |
Build.CronSchedule.DisplayName | displayName 觸發管線執行之 cron 排程的 。 只有當管線執行是由 YAML 排程觸發程式觸發時,才會設定此變數。 如需詳細資訊,請參閱 schedules.cron 定義 - Build.CronSchedule.DisplayName 變數 |
Yes |
Build.DefinitionName | 組建管線的名稱。 注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。 |
Yes |
Build.DefinitionVersion | 組建管線的版本。 | Yes |
Build.QueuedBy | 請參閱「 如何設定身分識別變數? 」。 注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。 |
Yes |
Build.QueuedById | 請參閱「 如何設定身分識別變數? 」。 | Yes |
Build.Reason | 導致組建執行的事件。
|
Yes |
Build.Repository.Clean | 您在來源存放庫設定 中 針對 [清除 ] 選取的值。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.Repository.LocalPath | 下載原始程式碼檔案之代理程式的本機路徑。 例如: c:\agent_work\1\s 。根據預設,新的組建管線只會更新已變更的檔案。 您可以修改在 [存放庫 ] 索引標籤上 下載檔案的方式。 重要注意事項:如果您只簽出一個 Git 存放庫,此路徑就是程式碼的確切路徑。 如果您取出多個存放庫,行為如下所示(而且可能與 Build.SourcesDirectory 變數的值不同):
|
No |
Build.Repository.ID | 存放庫 的唯一 識別碼。 即使存放庫的名稱確實如此,這也不會變更。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.Repository.Name | 觸發存放 庫 的名稱。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.Repository.Provider | 觸發存放 庫 的類型。
|
No |
Build.Repository.Tfvc.Workspace | 定義您的 存放庫 是否Team Foundation 版本控制。 組建代理程式所使用的 TFVC 工作區 名稱 。 例如,如果 Agent.BuildDirectory 是 c:\agent_work\12 ,且 Agent.Id 為 8 ,則工作區名稱可能是: ws_12_8 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.Repository.Uri | 觸發存放庫的 URL。 例如: 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.RequestedFor | 請參閱「 如何設定身分識別變數? 」。 注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。 |
Yes |
Build.RequestedForEmail | 請參閱「 如何設定身分識別變數? 」。 | Yes |
Build.RequestedForId | 請參閱「 如何設定身分識別變數? 」。 | Yes |
Build.SourceBranch | 建置已排入佇列之觸發存放庫的分支。 以下是一些範例:
/ ) 會取代為底線字元 _ 。注意:在 TFVC 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。 |
Yes |
Build.SourceBranchName | 觸發存放庫中的分支名稱,組建已排入佇列。
|
Yes |
Build.SourcesDirectory | 下載原始程式碼檔案之代理程式的本機路徑。 例如: c:\agent_work\1\s 。根據預設,新的組建管線只會更新已變更的檔案。 重要注意事項:如果您只簽出一個 Git 存放庫,此路徑就是程式碼的確切路徑。 如果您取出多個存放庫,則會還原為其預設值,也就是 $(Pipeline.Workspace)/s 即使將自我(主要)存放庫簽出到與其多重簽出預設路徑不同的自訂路徑 $(Pipeline.Workspace)/s/<RepoName> (在這方面,變數與 Build.Repository.LocalPath 變數的行為不同)。此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.SourceVersion | 此組建中包含的觸發存放庫最新版本控制變更。
|
Yes |
Build.SourceVersionMessage | 觸發存放庫之認可或變更集的批註。 我們會將訊息截斷為第一行或 200 個字元,只要較短。 會 Build.SourceVersionMessage 對應至認可時 Build.SourceVersion 訊息。 Build.SourceVersion PR 組建的認可是合併認可(不是來源分支上的認可)。此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 此外,這個變數只能在步驟層級上使用,而且無法在作業或階段層級中使用(也就是說,在作業啟動和取出程式碼之前,不會擷取訊息)。 注意:TFS 2015.4 提供此變數。 注意: 在啟用建置時 Batch 變更時 ,Build.SourceVersionMessage 變數不適用於 Bitbucket 存放庫中的傳統組建 管線。 |
No |
Build.StagingDirectory | 將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: c:\agent_work\1\a 。使用此資料夾的一般方式是使用複製檔案 和 發佈組建成品工作 來發佈 組建成品。 注意:Build.ArtifactStagingDirectory 和 Build.StagingDirectory 可交換。 此目錄會在每個新組建之前清除,因此您不需要自行清除目錄。 請參閱 Azure Pipelines 中的成品。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.Repository.Git.SubmoduleCheckout | 您已針對 [存放庫 ] 索引標籤上的 [簽出] 子模組 選取的值。取出多個存放庫後,此值會追蹤觸發存放庫的設定。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.SourceTfvcShelveset | 定義您的 存放庫 是否Team Foundation 版本控制。 如果您正在執行 閘道組建 或 擱置集組建 ,這會設定為您要建置的 擱置集 名稱。 注意:此變數會產生值,該值對組建編號格式的組建使用無效。 |
No |
Build.TriggeredBy.BuildId | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發組建的 BuildID。 在傳統管線中,此變數是由組建完成觸發程式觸發。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 如果您使用 觸發 YAML 管線 resources ,您應該改用 資源變數 。 |
No |
Build.TriggeredBy.DefinitionId | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發組建的 DefinitionID。 在傳統管線中,此變數是由組建完成觸發程式觸發。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 如果您使用 觸發 YAML 管線 resources ,您應該改用 資源變數 。 |
No |
Build.TriggeredBy.DefinitionName | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發建置管線的名稱。 在傳統管線中,此變數是由組建完成觸發程式觸發。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 如果您使用 觸發 YAML 管線 resources ,您應該改用 資源變數 。 |
No |
Build.TriggeredBy.BuildNumber | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發組建的數目。 在傳統管線中,此變數是由組建完成觸發程式觸發。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 如果您使用 觸發 YAML 管線 resources ,您應該改用 資源變數 。 |
No |
Build.TriggeredBy.ProjectID | 如果組建是由 另一個組建 觸發,則此變數會設定為包含觸發組建的專案識別碼。 在傳統管線中,此變數是由組建完成觸發程式觸發。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 如果您使用 觸發 YAML 管線 resources ,您應該改用 資源變數 。 |
No |
Common.TestResultsDirectory | 建立測試結果之代理程式的本機路徑。 例如: c:\agent_work\1\TestResults 。此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
管線變數 (DevOps Services)
變數 | 描述 |
---|---|
Pipeline.Workspace | 特定管線的工作區目錄。 此變數的值與 Agent.BuildDirectory 相同。 例如: /home/vsts/work/1 。 |
提示
如果您使用傳統發行管線,您可以使用 傳統版本和成品變數 來儲存和存取整個管線中的資料。
部署作業變數 (DevOps Services)
這些變數的範圍會限定于特定的 部署作業 ,而且只會在作業執行時間解析。
變數 | 描述 |
---|---|
Environment.Name | 部署作業中以執行部署步驟為目標的環境名稱,並記錄部署歷程記錄。 例如: smarthotel-dev 。 |
Environment.Id | 部署作業中目標環境識別碼。 例如: 10 。 |
Environment.ResourceName | 以部署作業為目標的環境內特定資源名稱,以執行部署步驟並記錄部署歷程記錄。 例如,這是 Kubernetes 命名空間, bookings 已新增為環境 smarthotel-dev 的資源。 |
Environment.ResourceId | 以部署作業為目標之環境內特定資源的識別碼,以執行部署步驟。 例如: 4 。 |
Strategy.Name | 部署策略的名稱: canary 、 runOnce 或 rolling 。 |
Strategy.CycleName | 部署中的目前迴圈名稱。 選項為 PreIteration 、 Iteration 或 PostIteration 。 |
系統變數 (DevOps Services)
變數 | 描述 | 可在範本 中使用 ? |
---|---|---|
System.AccessToken | 使用 OAuth 權杖來存取 REST API 。 從 YAML 腳本 使用 System.AccessToken。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
Yes |
System.CollectionId | TFS 集合或 Azure DevOps 組織的 GUID。 | Yes |
System.CollectionUri | TFS 集合或 Azure DevOps 組織的 URI。 例如: https://dev.azure.com/fabrikamfiber/ 。 |
Yes |
System.DefaultWorkingDirectory | 下載原始程式碼檔案之代理程式的本機路徑。 例如:c:\agent_work\1\s 根據預設,新的組建管線只會更新已變更的檔案。 您可以修改在 [存放庫 ] 索引標籤上 下載檔案的方式。 此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Yes |
System.DefinitionId | 組建管線的識別碼。 | Yes |
System.HostType | build 如果管線是組建,則設定為 。 針對發行,這些值適用于 deployment 部署群組作業、 gates 在評估閘道期間,以及其他 release (Agent 和 Agentless) 作業。 |
Yes |
System.JobAttempt | 第一次嘗試此作業時設定為 1,並在每次重試作業時遞增。 | No |
System.JobDisplayName | 提供給作業的人類可讀取名稱。 | No |
System.JobId | 單一作業嘗試的唯一識別碼。 值對目前的管線而言是唯一的。 | No |
System.JobName | 作業的名稱,通常用於表示相依性及存取輸出變數。 | No |
System.PhaseAttempt | 第一次嘗試此階段時設定為 1,並在每次重試作業時遞增。 注意:「階段」是一個大部分多餘的概念,代表作業的設計階段(而作業是階段的執行時間版本)。 我們大多已從 Azure Pipelines 中移除「階段」的概念。 矩陣和多重設定作業是唯一與「作業」相異的地方。一個階段可以具現化多個作業,這只會在其輸入中有所不同。 |
No |
System.PhaseDisplayName | 提供給階段的人類可讀取名稱。 | No |
System.PhaseName | 作業的字串型識別碼,通常用於表示相依性及存取輸出變數。 | No |
System.PlanId | 單一管線執行的字串型識別碼。 | No |
System.PullRequest.IsFork | 如果提取要求來自存放庫的分支,此變數會設定為 True 。否則,它會設定為 False 。 |
Yes |
System.PullRequest.PullRequestId | 造成此組建之提取要求的識別碼。 例如: 17 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。 |
No |
System.PullRequest.PullRequestNumber | 造成此組建的提取要求數目。 此變數會針對具有不同提取要求識別碼和提取要求號碼的 GitHub 提取要求填入。 只有在 PR 受到分支原則影響時,YAML 管線才能使用此變數。 | No |
System.PullRequest.targetBranchName | 提取要求的目標分支名稱。 此變數可用於管線中,根據提取要求的目標分支,有條件地執行工作或步驟。 例如,根據要合併變更的分支,您可能會想要觸發一組不同的測試或程式碼分析工具。 | No |
System.PullRequest.SourceBranch | 正在提取要求中檢閱的分支。 例如: refs/heads/users/raisa/new-feature 適用于 Azure Repos。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。 只有在 PR 受到分支原則影響時,YAML 管線才能使用此變數。 |
No |
System.PullRequest.SourceCommitId | 正在提取要求中檢閱的認可。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。 只有在 PR 受到分支原則影響時,YAML 管線才能使用此變數。 | |
System.PullRequest.SourceRepositoryURI | 包含提取要求的存放庫 URL。 例如: https://dev.azure.com/ouraccount/_git/OurProject 。 |
No |
System.PullRequest.TargetBranch | 作為提取要求目標的分支。 例如: refs/heads/main 當您的存放庫位於 Azure Repos,以及 main 存放庫位於 GitHub 時。 只有當組建因為受到分支 原則影響的 Git PR 而執行 時,才會初始化此變數。 只有在 PR 受到分支原則影響時,YAML 管線才能使用此變數。 |
No |
System.StageAttempt | 第一次嘗試此階段時設定為 1,並在每次重試作業時遞增。 | No |
System.StageDisplayName | 提供給階段的人類可讀取名稱。 | No |
System.StageName | 階段的字串型識別碼,通常用於表示相依性及存取輸出變數。 | No |
System.TeamFoundationCollectionUri | TFS 集合或 Azure DevOps 組織的 URI。 例如: https://dev.azure.com/fabrikamfiber/ 。此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
Yes |
System.TeamProject | 包含此組建的專案名稱。 | Yes |
System.TeamProjectId | 此組建所屬專案的識別碼。 | Yes |
System.TimelineId | 單一管線執行之執行詳細資料和記錄的字串型識別碼。 | No |
TF_BUILD | True 如果腳本正由建置工作執行,則設定為 。此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
檢查變數 (DevOps Services)
變數 | 描述 |
---|---|
Checks.StageAttempt | 第一次嘗試此階段時設定為 1,並在每次重試階段時遞增。 此變數只能在核准或檢查 環境內 使用。 例如,您可以在叫用 $(Checks.StageAttempt) REST API 檢查 中使用 。![]() |
代理程式變數 (DevOps Server 2022)
注意
您可以使用代理程式變數作為腳本中的環境變數,以及做為建置工作中的參數。 您無法使用它們來自訂群組建編號,或套用版本控制標籤或標籤。
變數 | 描述 |
---|---|
Agent.BuildDirectory |
代理程式上的本機路徑,其中會建立指定組建管線的所有資料夾。 此變數的值與 例如: |
Agent.ContainerMapping |
從 YAML 中的容器資源名稱對應到執行時間的 Docker 識別碼。 例如: |
Agent.HomeDirectory | 代理程式安裝到的目錄。 這包括代理程式軟體。 例如: c:\agent 。 |
Agent.Id | 代理程式的識別碼。 |
Agent.JobName | 執行中作業的名稱。 這通常是「作業」或「__default」,但在多重設定案例中,將會是組態。 |
Agent.JobStatus | 組建的狀態。
環境變數應參考為 |
Agent.MachineName | 安裝代理程式的電腦名稱稱。 |
Agent.Name |
向集區註冊的代理程式名稱。 如果您使用自我裝載代理程式,則此名稱是由您指定。 請參閱 代理程式 。 |
Agent.OS |
代理程式主機的作業系統。 有效值為:
|
Agent.OSArchitecture |
代理程式主機的作業系統處理器架構。 有效值為:
|
Agent.TempDirectory |
在每個管線作業之後清除的暫存資料夾。 .NET Core CLI 工作等 工作會使用此目錄來保存暫存專案,例如測試結果發佈之前。 例如: |
Agent.ToolsDirectory |
節點工具安裝程式 和使用 Python 版本 等 工作所使用的目錄,可在工具的多個版本之間切換。
這些工作會將工具從這個目錄新增至 , PATH 讓後續的建置步驟可以使用它們。
瞭解如何 在自我裝載代理程式 上管理此目錄。 |
Agent.WorkFolder |
此代理程式的工作目錄。
例如: c:\agent_work 。
注意:此目錄不保證可由管線工作寫入(例如,對應至容器時) |
組建變數 (DevOps Server 2022)
變數 | 描述 | 可在範本 中使用 ? |
---|---|---|
Build.ArtifactStagingDirectory |
將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: |
No |
Build.BuildId | 已完成組建之記錄的識別碼。 | No |
Build.BuildNumber | 已完成組建的名稱,也稱為執行編號。 您可以指定 此值中包含的內容 。 此變數的一般用法是讓它成為您在存放庫 索引標籤上指定之標籤格式的 一部分。 注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。
|
No |
Build.BuildUri | 組建的 URI。 例如: vstfs:///Build/Build/1430 。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.BinariesDirectory | 代理程式上的本機路徑,您可以做為已編譯二進位檔的輸出檔案夾。
根據預設,不會設定新的組建管線來清除此目錄。 您可以定義組建,以在 [存放庫 ] 索引標籤上 清除它。 例如: c:\agent_work\1\b 。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.ContainerId | 成品容器的識別碼。 當您在管線中上傳成品時,它會新增至該特定成品特定的容器。 | No |
Build.CronSchedule.DisplayName | displayName 觸發管線執行之 cron 排程的 。 只有當管線執行是由 YAML 排程觸發程式觸發時,才會設定此變數。 如需詳細資訊,請參閱 schedules.cron 定義 - Build.CronSchedule.DisplayName 變數 。 此變數可在 Azure DevOps Server 2022.1 和更新版本中取得。 |
Yes |
Build.DefinitionName | 組建管線的名稱。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。 |
Yes |
Build.DefinitionVersion | 組建管線的版本。 | Yes |
Build.QueuedBy | 請參閱「 如何設定身分識別變數? 」。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。 |
Yes |
Build.QueuedById | 請參閱「 如何設定身分識別變數? 」。 | Yes |
Build.Reason | 導致組建執行的事件。
|
Yes |
Build.Repository.Clean | 您在來源存放庫設定 中 針對 [清除 ] 選取的值。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.Repository.LocalPath |
下載原始程式碼檔案之代理程式的本機路徑。 例如: 重要注意事項:如果您只簽出一個 Git 存放庫,此路徑就是程式碼的確切路徑。 如果您取出多個存放庫,行為如下所示(而且可能與 Build.SourcesDirectory 變數的值不同):
|
No |
Build.Repository.ID | 存放庫 的唯一 識別碼。
即使存放庫的名稱確實如此,這也不會變更。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.Repository.Name | 觸發存放 庫 的名稱。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.Repository.Provider | 觸發存放 庫 的類型。
|
No |
Build.Repository.Tfvc.Workspace | 定義您的 存放庫 是否Team Foundation 版本控制。 組建代理程式所使用的 TFVC 工作區 名稱 。
例如,如果 Agent.BuildDirectory 是 c:\agent_work\12 ,且 Agent.Id 為 8 ,則工作區名稱可能是: ws_12_8
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.Repository.Uri | 觸發存放庫的 URL。 例如: 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 | No |
Build.RequestedFor | 請參閱「 如何設定身分識別變數? 」。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。 |
Yes |
Build.RequestedForEmail | 請參閱「 如何設定身分識別變數? 」。 | Yes |
Build.RequestedForId | 請參閱「 如何設定身分識別變數? 」。 | Yes |
Build.SourceBranch | 建置已排入佇列之觸發存放庫的分支。 一些範例:
/ ) 會取代為底線字元 _ 。
注意:在 TFVC 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。 |
Yes |
Build.SourceBranchName | 觸發存放庫中的分支名稱,組建已排入佇列。
|
Yes |
Build.SourcesDirectory |
下載原始程式碼檔案之代理程式的本機路徑。 例如: 重要注意事項:如果您只簽出一個 Git 存放庫,此路徑就是程式碼的確切路徑。 如果您取出多個存放庫,則會還原為其預設值,也就是 |
No |
Build.SourceVersion | 此組建中包含的觸發存放庫最新版本控制變更。
|
Yes |
Build.SourceVersionMessage | 觸發存放庫之認可或變更集的批註。 我們會將訊息截斷為第一行或 200 個字元,只要較短。
會 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 此外,這個變數只能在步驟層級上使用,而且無法在作業或階段層級中使用(也就是說,在作業啟動和取出程式碼之前,不會擷取訊息)。 注意:TFS 2015.4 提供此變數。 注意 當啟用建置時 Batch 變更時 ,Build.SourceVersionMessage 變數不適用於 Bitbucket 存放庫中的傳統建 置管線。 |
No |
Build.StagingDirectory |
將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: |
No |
Build.Repository.Git.SubmoduleCheckout | 您已針對 [存放庫 ] 索引標籤上的 [簽出] 子模組 選取的值。取出多個存放庫後,此值會追蹤觸發存放庫的設定。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.SourceTfvcShelveset | 定義您的 存放庫 是否Team Foundation 版本控制。
如果您正在執行 閘道組建 或 擱置集組建 ,這會設定為您要建置的 擱置集 名稱。 注意:此變數會產生值,該值對組建編號格式的組建使用無效。 |
No |
Build.TriggeredBy.BuildId | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發組建的 BuildID。 在傳統管線中,此變數是由組建完成觸發程式觸發。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 如果您使用 觸發 YAML 管線 resources ,您應該改用 資源變數 。
|
No |
Build.TriggeredBy.DefinitionId | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發組建的 DefinitionID。 在傳統管線中,此變數是由組建完成觸發程式觸發。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 如果您使用 觸發 YAML 管線 resources ,您應該改用 資源變數 。
|
No |
Build.TriggeredBy.DefinitionName | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發建置管線的名稱。 在傳統管線中,此變數是由組建完成觸發程式觸發。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 如果您使用 觸發 YAML 管線 resources ,您應該改用 資源變數 。
|
No |
Build.TriggeredBy.BuildNumber | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發組建的數目。 在傳統管線中,此變數是由組建完成觸發程式觸發。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 如果您使用 觸發 YAML 管線 resources ,您應該改用 資源變數 。
|
No |
Build.TriggeredBy.ProjectID | 如果組建是由 另一個組建 觸發,則此變數會設定為包含觸發組建的專案識別碼。 在傳統管線中,此變數是由組建完成觸發程式觸發。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 如果您使用 觸發 YAML 管線 resources ,您應該改用 資源變數 。
|
No |
Common.TestResultsDirectory | 建立測試結果之代理程式的本機路徑。 例如:c:\agent_work\1\TestResults
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
管線變數 (DevOps Server 2022)
變數 | 描述 |
---|---|
Pipeline.Workspace | 特定管線的工作區目錄。 此變數的值與 Agent.BuildDirectory 相同。例如: /home/vsts/work/1 。 |
提示
如果您使用傳統發行管線,您可以使用 傳統版本和成品變數 來儲存和存取整個管線中的資料。
部署作業變數 (DevOps Server 2022)
這些變數的範圍會限定于特定的 部署作業 ,而且只會在作業執行時間解析。
變數 | 描述 |
---|---|
Environment.Name | 部署作業中以執行部署步驟為目標的環境名稱,並記錄部署歷程記錄。 例如: smarthotel-dev 。 |
Environment.Id | 部署作業中目標環境識別碼。 例如: 10 。 |
Environment.ResourceName | 以部署作業為目標的環境內特定資源名稱,以執行部署步驟並記錄部署歷程記錄。 例如,這是 Kubernetes 命名空間, bookings 已新增為環境 smarthotel-dev 的資源。 |
Environment.ResourceId | 以部署作業為目標之環境內特定資源的識別碼,以執行部署步驟。 例如: 4 。 |
Strategy.Name | 部署策略的名稱: canary 、 runOnce 或 rolling 。 |
Strategy.CycleName | 部署中的目前迴圈名稱。 選項為 PreIteration 、 Iteration 或 PostIteration 。 |
系統變數 (DevOps Server 2022)
變數 | 描述 | 可在範本 中使用 ? |
---|---|---|
System.AccessToken | 使用 OAuth 權杖來存取 REST API 。
從 YAML 腳本 使用 System.AccessToken。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
Yes |
System.CollectionId | TFS 集合或 Azure DevOps 組織的 GUID。 | Yes |
System.CollectionUri | TFS 集合或 Azure DevOps 組織的 URI。 例如: https://dev.azure.com/fabrikamfiber/ 。 |
Yes |
System.DefaultWorkingDirectory |
下載原始程式碼檔案之代理程式的本機路徑。 例如: |
Yes |
System.DefinitionId | 組建管線的識別碼。 | Yes |
System.HostType | build 如果管線是組建,則設定為 。 針對發行,這些值適用于 deployment 部署群組作業、 gates 在評估閘道期間,以及其他 release (Agent 和 Agentless) 作業。 |
Yes |
System.JobAttempt | 第一次嘗試此作業時設定為 1,並在每次重試作業時遞增。 | No |
System.JobDisplayName | 提供給作業的人類可讀取名稱。 | No |
System.JobId | 單一作業嘗試的唯一識別碼。 值對目前的管線而言是唯一的。 | No |
System.JobName | 作業的名稱,通常用於表示相依性及存取輸出變數。 | No |
System.PhaseAttempt | 第一次嘗試此階段時設定為 1,並在每次重試作業時遞增。 注意: 「階段」是一個大部分多餘的概念,代表作業的設計階段(而作業是階段的執行時間版本)。 我們大多已從 Azure Pipelines 中移除「階段」的概念。 矩陣和多重設定作業是唯一與「作業」相異的地方。 一個階段可以具現化多個作業,這只會在其輸入中有所不同。 |
No |
System.PhaseDisplayName | 提供給階段的人類可讀取名稱。 | No |
System.PhaseName | 作業的字串型識別碼,通常用於表示相依性及存取輸出變數。 | No |
System.PlanId | 單一管線執行的字串型識別碼。 | No |
System.PullRequest.IsFork | 如果提取要求來自存放庫的分支,此變數會設定為 True 。
否則,它會設定為 False 。 |
Yes |
System.PullRequest.PullRequestId | 造成此組建之提取要求的識別碼。 例如: 17 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。 |
No |
System.PullRequest.PullRequestNumber | 造成此組建的提取要求數目。 此變數會針對具有不同提取要求識別碼和提取要求號碼的 GitHub 提取要求填入。 只有在 PR 受到分支原則影響時,YAML 管線才能使用此變數。 | No |
System.PullRequest.targetBranchName | 提取要求的目標分支名稱。 此變數可用於管線中,根據提取要求的目標分支,有條件地執行工作或步驟。 例如,根據要合併變更的分支,您可能會想要觸發一組不同的測試或程式碼分析工具。 | No |
System.PullRequest.SourceBranch | 正在提取要求中檢閱的分支。 例如: refs/heads/users/raisa/new-feature 適用于 Azure Repos。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。 只有在 PR 受到分支原則影響時,YAML 管線才能使用此變數。 |
No |
System.PullRequest.SourceRepositoryURI | 包含提取要求的存放庫 URL。 例如: https://dev.azure.com/ouraccount/_git/OurProject 。 |
No |
System.PullRequest.TargetBranch | 作為提取要求目標的分支。 例如: refs/heads/main 當您的存放庫位於 Azure Repos,以及 main 存放庫位於 GitHub 時。 只有當組建因為受到分支 原則影響的 Git PR 而執行 時,才會初始化此變數。 只有在 PR 受到分支原則影響時,YAML 管線才能使用此變數。 |
No |
System.StageAttempt | 第一次嘗試此階段時設定為 1,並在每次重試作業時遞增。 | No |
System.StageDisplayName | 提供給階段的人類可讀取名稱。 | No |
System.StageName | 階段的字串型識別碼,通常用於表示相依性及存取輸出變數。 | No |
System.TeamFoundationCollectionUri | TFS 集合或 Azure DevOps 組織的 URI。 例如: https://dev.azure.com/fabrikamfiber/ 。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
Yes |
System.TeamProject | 包含此組建的專案名稱。 | Yes |
System.TeamProjectId | 此組建所屬專案的識別碼。 | Yes |
System.TimelineId | 單一管線執行之執行詳細資料和記錄的字串型識別碼。 | No |
TF_BUILD | True 如果腳本正由建置工作執行,則設定為 。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
檢查變數 (DevOps Server 2022)
變數 | 描述 |
---|---|
Checks.StageAttempt | 第一次嘗試此階段時設定為 1,並在每次重試階段時遞增。
此變數只能在核准或檢查 環境內 使用。 例如,您可以在叫用 $(Checks.StageAttempt) REST API 檢查 中使用 。 |
代理程式變數 (DevOps Server 2020)
注意
您可以使用代理程式變數作為腳本中的環境變數,以及做為建置工作中的參數。 您無法使用它們來自訂群組建編號,或套用版本控制標籤或標籤。
變數 | 描述 |
---|---|
Agent.BuildDirectory |
代理程式上的本機路徑,其中會建立指定組建管線的所有資料夾。 此變數的值與 例如: |
Agent.HomeDirectory | 代理程式安裝到的目錄。 這包括代理程式軟體。 例如: c:\agent 。 |
Agent.Id | 代理程式的識別碼。 |
Agent.JobName | 執行中作業的名稱。 這通常是「作業」或「__default」,但在多重設定案例中,將會是組態。 |
Agent.JobStatus | 組建的狀態。
環境變數應參考為 |
Agent.MachineName | 安裝代理程式的電腦名稱稱。 |
Agent.Name |
向集區註冊的代理程式名稱。 如果您使用自我裝載代理程式,則此名稱會由您設定。 請參閱 代理程式 。 |
Agent.OS |
代理程式主機的作業系統。 有效值為:
|
Agent.OSArchitecture |
代理程式主機的作業系統處理器架構。 有效值為:
|
Agent.TempDirectory |
在每個管線作業之後清除的暫存資料夾。 .NET Core CLI 工作等 工作會使用此目錄來保存暫存專案,例如測試結果發佈之前。 例如: |
Agent.ToolsDirectory |
節點工具安裝程式 和使用 Python 版本 等 工作所使用的目錄,可在工具的多個版本之間切換。
這些工作會將工具從這個目錄新增至 , PATH 讓後續的建置步驟可以使用它們。
瞭解如何 在自我裝載代理程式 上管理此目錄。 |
Agent.WorkFolder |
此代理程式的工作目錄。
例如: c:\agent_work 。
注意:此目錄不保證可由管線工作寫入(例如,對應至容器時) |
組建變數 (DevOps Server 2020)
變數 | 描述 | 可在範本中使用? |
---|---|---|
Build.ArtifactStagingDirectory |
將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: |
No |
Build.BuildId | 已完成組建之記錄的識別碼。 | No |
Build.BuildNumber | 已完成組建的名稱,也稱為執行編號。 您可以指定 此值中包含的內容 。 此變數的一般用法是讓它成為您在存放庫 索引標籤上指定之標籤格式的 一部分。 注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。
|
No |
Build.BuildUri | 組建的 URI。 例如: vstfs:///Build/Build/1430 。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.BinariesDirectory | 代理程式上的本機路徑,您可以做為已編譯二進位檔的輸出檔案夾。
根據預設,不會設定新的組建管線來清除此目錄。 您可以定義組建,以在 [存放庫 ] 索引標籤上 清除它。 例如: c:\agent_work\1\b 。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.ContainerId | 成品容器的識別碼。 當您在管線中上傳成品時,它會新增至該特定成品特定的容器。 | No |
Build.DefinitionName | 組建管線的名稱。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 將會失敗。 |
Yes |
Build.DefinitionVersion | 組建管線的版本。 | Yes |
Build.QueuedBy | 請參閱「 如何設定身分識別變數? 」。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。 |
Yes |
Build.QueuedById | 請參閱「 如何設定身分識別變數? 」。 | Yes |
Build.Reason | 導致組建執行的事件。
|
Yes |
Build.Repository.Clean | 您在來源存放庫設定 中 針對 [清除 ] 選取的值。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.Repository.LocalPath |
下載原始程式碼檔案之代理程式的本機路徑。 例如: 重要注意事項:如果您只簽出一個 Git 存放庫,此路徑將會是程式碼的確切路徑。 如果您取出多個存放庫,行為如下所示(而且可能與 Build.SourcesDirectory 變數的值不同):
|
No |
Build.Repository.ID | 存放庫 的唯一 識別碼。
即使存放庫的名稱確實如此,這也不會變更。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.Repository.Name | 觸發存放 庫 的名稱。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.Repository.Provider | 觸發存放 庫 的類型。
|
No |
Build.Repository.Tfvc.Workspace | 定義您的 存放庫 是否Team Foundation 版本控制。 組建代理程式所使用的 TFVC 工作區 名稱 。
例如,如果 Agent.BuildDirectory 是 c:\agent_work\12 ,且 Agent.Id 為 8 ,則工作區名稱可能是: ws_12_8
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.Repository.Uri | 觸發存放庫的 URL。 例如: 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 | No |
Build.RequestedFor | 請參閱「 如何設定身分識別變數? 」。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。 |
Yes |
Build.RequestedForEmail | 請參閱「 如何設定身分識別變數? 」。 | Yes |
Build.RequestedForId | 請參閱「 如何設定身分識別變數? 」。 | Yes |
Build.SourceBranch | 建置已排入佇列之觸發存放庫的分支。 一些範例:
/ ) 會取代為底線字元 _ 。
注意:在 TFVC 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。 |
Yes |
Build.SourceBranchName | 觸發存放庫中的分支名稱,組建已排入佇列。
|
Yes |
Build.SourcesDirectory |
下載原始程式碼檔案之代理程式的本機路徑。 例如: 重要注意事項:如果您只簽出一個 Git 存放庫,此路徑就是程式碼的確切路徑。 如果您取出多個存放庫,則會還原為其預設值,也就是 |
No |
Build.SourceVersion | 此組建中包含的觸發存放庫最新版本控制變更。
|
Yes |
Build.SourceVersionMessage | 觸發存放庫之認可或變更集的批註。 我們會將訊息截斷為第一行或 200 個字元,只要較短。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 此外,此變數只能在步驟層級上使用,而且無法在作業或階段層級中使用(也就是說,在作業啟動並取出程式碼之前,不會擷取訊息)。 注意:TFS 2015.4 提供此變數。 注意 當啟用建置時 Batch 變更時 ,Build.SourceVersionMessage 變數不適用於 Bitbucket 存放庫中的傳統建 置管線。 |
No |
Build.StagingDirectory |
將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: |
No |
Build.Repository.Git.SubmoduleCheckout | 您已針對 [存放庫 ] 索引標籤上的 [簽出] 子模組 選取的值。取出多個存放庫後,此值會追蹤觸發存放庫的設定。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.SourceTfvcShelveset | 定義您的 存放庫 是否Team Foundation 版本控制。
如果您正在執行 閘道組建 或 擱置集組建 ,這會設定為您要建置的 擱置集 名稱。 注意:此變數會產生值,該值對組建編號格式的組建使用無效。 |
No |
Build.TriggeredBy.BuildId | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發組建的 BuildID。 在傳統管線中,此變數是由組建完成觸發程式觸發。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.TriggeredBy.DefinitionId | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發組建的 DefinitionID。 在傳統管線中,此變數是由組建完成觸發程式觸發。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.TriggeredBy.DefinitionName | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發建置管線的名稱。 在傳統管線中,此變數是由組建完成觸發程式觸發。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.TriggeredBy.BuildNumber | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發組建的數目。 在傳統管線中,此變數是由組建完成觸發程式觸發。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Build.TriggeredBy.ProjectID | 如果組建是由 另一個組建 觸發,則此變數會設定為包含觸發組建的專案識別碼。 在傳統管線中,此變數是由組建完成觸發程式觸發。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
Common.TestResultsDirectory | 建立測試結果之代理程式的本機路徑。 例如:c:\agent_work\1\TestResults
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
管線變數 (DevOps Server 2020)
變數 | 描述 |
---|---|
Pipeline.Workspace | 特定管線的工作區目錄。 此變數的值與 Agent.BuildDirectory 相同。例如: /home/vsts/work/1 。 |
部署作業變數 (DevOps Server 2020)
這些變數的範圍會限定于特定的 部署作業 ,而且只會在作業執行時間解析。
變數 | 描述 |
---|---|
Environment.Name | 部署作業中以執行部署步驟為目標的環境名稱,並記錄部署歷程記錄。 例如: smarthotel-dev 。 |
Environment.Id | 部署作業中目標環境識別碼。 例如: 10 。 |
Environment.ResourceName | 以部署作業為目標的環境內特定資源名稱,以執行部署步驟並記錄部署歷程記錄。 例如,這是 Kubernetes 命名空間, bookings 已新增為環境 smarthotel-dev 的資源。 |
Environment.ResourceId | 以部署作業為目標之環境內特定資源的識別碼,以執行部署步驟。 例如: 4 。 |
系統變數 (DevOps Server 2020)
變數 | 描述 | 可在範本中使用? |
---|---|---|
System.AccessToken | 使用 OAuth 權杖來存取 REST API 。
從 YAML 腳本 使用 System.AccessToken。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
Yes |
System.CollectionId | TFS 集合或 Azure DevOps 組織的 GUID | Yes |
System.CollectionUri | 字串 Team Foundation Server 集合 URI。 | Yes |
System.DefaultWorkingDirectory |
下載原始程式碼檔案之代理程式的本機路徑。 例如: |
No |
System.DefinitionId | 組建管線的識別碼。 | Yes |
System.HostType | build 如果管線是組建,則設定為 。 針對發行,這些值適用于 deployment 部署群組作業、 gates 在評估閘道期間,以及其他 release (Agent 和 Agentless) 作業。 |
Yes |
System.JobAttempt | 第一次嘗試此作業時設定為 1,並在每次重試作業時遞增。 | No |
System.JobDisplayName | 提供給作業的人類可讀取名稱。 | No |
System.JobId | 單一作業嘗試的唯一識別碼。 值對目前的管線而言是唯一的。 | No |
System.JobName | 作業的名稱,通常用於表示相依性及存取輸出變數。 | No |
System.PhaseAttempt | 第一次嘗試此階段時設定為 1,並在每次重試作業時遞增。 注意: 「階段」是一個大部分多餘的概念,代表作業的設計階段(而作業是階段的執行時間版本)。 我們大多已從 Azure Pipelines 中移除「階段」的概念。 矩陣和多重設定作業是唯一與「job」 相異的地方。 一個階段可以具現化多個作業,這只會在其輸入中有所不同。 |
No |
System.PhaseDisplayName | 提供給階段的人類可讀取名稱。 | No |
System.PhaseName | 作業的字串型識別碼,通常用於表示相依性及存取輸出變數。 | No |
System.StageAttempt | 第一次嘗試此階段時設定為 1,並在每次重試作業時遞增。 | No |
System.StageDisplayName | 提供給階段的人類可讀取名稱。 | No |
System.StageName | 階段的字串型識別碼,通常用於表示相依性及存取輸出變數。 | Yes |
System.PullRequest.IsFork | 如果提取要求來自存放庫的分支,此變數會設定為 True 。
否則,它會設定為 False 。 |
Yes |
System.PullRequest.PullRequestId | 造成此組建之提取要求的識別碼。 例如: 17 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。 |
No |
System.PullRequest.PullRequestNumber | 造成此組建的提取要求數目。 此變數會填入來自 GitHub 的提取要求,其中包含不同的提取要求識別碼和提取要求號碼。 只有在 PR 受到分支原則影響時,YAML 管線才能使用此變數。 | No |
System.PullRequest.targetBranchName | 提取要求的目標分支名稱。 此變數可用於管線中,根據提取要求的目標分支,有條件地執行工作或步驟。 例如,根據要合併變更的分支,您可能會想要觸發一組不同的測試或程式碼分析工具。 | No |
System.PullRequest.SourceBranch | 正在提取要求中檢閱的分支。 例如: refs/heads/users/raisa/new-feature 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。 只有在 PR 受到分支原則影響時,YAML 管線才能使用此變數。 |
No |
System.PullRequest.SourceCommitId | 正在提取要求中檢閱的認可。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。 只有在 PR 受到分支原則影響時,YAML 管線才能使用此變數。 | |
System.PullRequest.SourceRepositoryURI | 包含提取要求的存放庫 URL。 例如: https://dev.azure.com/ouraccount/_git/OurProject 。 |
No |
System.PullRequest.TargetBranch | 作為提取要求目標的分支。 例如: refs/heads/main 當您的存放庫位於 Azure Repos,以及 main 存放庫位於 GitHub 時。 只有當組建因為受到分支 原則影響的 Git PR 而執行 時,才會初始化此變數。 只有在 PR 受到分支原則影響時,YAML 管線才能使用此變數。 |
No |
System.TeamFoundationCollectionUri | Team Foundation 集合的 URI。 例如:https://dev.azure.com/fabrikamfiber/
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
Yes |
System.TeamProject | 包含此組建的專案名稱。 | Yes |
System.TeamProjectId | 此組建所屬專案的識別碼。 | Yes |
TF_BUILD | True 如果腳本正由建置工作執行,則設定為 。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
No |
代理程式變數 (DevOps Server 2019)
注意
您可以使用代理程式變數作為腳本中的環境變數,以及做為建置工作中的參數。 您無法使用它們來自訂群組建編號,或套用版本控制標籤或標籤。
變數 | 描述 |
---|---|
Agent.BuildDirectory |
代理程式上的本機路徑,其中會建立指定組建管線的所有資料夾。 例如: |
Agent.HomeDirectory | 代理程式安裝到的目錄。 這包括代理程式軟體。 例如: c:\agent 。 |
Agent.Id | 代理程式的識別碼。 |
Agent.JobName | 執行中作業的名稱。 這通常是「作業」或「__default」,但在多重設定案例中,將會是組態。 |
Agent.JobStatus | 組建的狀態。
環境變數應參考為 |
Agent.MachineName | 安裝代理程式的電腦名稱稱。 |
Agent.Name |
向集區註冊的代理程式名稱。 如果您使用自我裝載的代理程式,則此名稱會由您設定。 請參閱 代理程式 。 |
Agent.OS |
代理程式主機的作業系統。 有效值為:
|
Agent.OSArchitecture |
代理程式主機的作業系統處理器架構。 有效值為:
|
Agent.TempDirectory | 在每個管線作業之後清除的暫存資料夾。 .NET Core CLI 工作等 工作會使用此目錄來保存暫存專案,例如測試結果發佈之前。 |
Agent.ToolsDirectory |
節點工具安裝程式 和使用 Python 版本 等 工作所使用的目錄,可在工具的多個版本之間切換。
這些工作會將工具從這個目錄新增至 , PATH 讓後續的建置步驟可以使用它們。
瞭解如何 在自我裝載代理程式 上管理此目錄。 |
Agent.WorkFolder |
此代理程式的工作目錄。
例如: c:\agent_work 。
此目錄不保證可由管線工作寫入(例如,對應至容器時) |
組建變數 (DevOps Server 2019)
變數 | 描述 |
---|---|
Build.ArtifactStagingDirectory |
將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: |
Build.BuildId | 已完成組建之記錄的識別碼。 |
Build.BuildNumber | 已完成組建的名稱。 您可以在管線選項 中指定產生此值的 組建編號格式。
此變數的一般用法是讓它成為您在存放庫 索引標籤上指定之標籤格式的 一部分。 注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。
|
Build.BuildUri | 組建的 URI。 例如: vstfs:///Build/Build/1430 。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.BinariesDirectory | 代理程式上的本機路徑,您可以做為已編譯二進位檔的輸出檔案夾。
根據預設,不會設定新的組建管線來清除此目錄。 您可以定義組建,以在 [存放庫 ] 索引標籤上 清除它。 例如: c:\agent_work\1\b 。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.DefinitionName | 組建管線的名稱。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 將會失敗。 |
Build.DefinitionVersion | 組建管線的版本。 |
Build.QueuedBy | 請參閱「 如何設定身分識別變數? 」。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。 |
Build.QueuedById | 請參閱「 如何設定身分識別變數? 」。 |
Build.Reason | 導致組建執行的事件。
|
Build.Repository.Clean | 您在來源存放庫設定 中 針對 [清除 ] 選取的值。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.Repository.LocalPath |
下載原始程式碼檔案之代理程式的本機路徑。 例如: 此變數與 Build.SourcesDirectory 同義。 |
Build.Repository.Name | 存放庫 的名稱 。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.Repository.Provider | 您選取 的 存放庫類型。
|
Build.Repository.Tfvc.Workspace | 定義您的 存放庫 是否Team Foundation 版本控制。 組建代理程式所使用的 TFVC 工作區 名稱 。
例如,如果 Agent.BuildDirectory 是 c:\agent_work\12 ,且 Agent.Id 為 8 ,則工作區名稱可能是: ws_12_8
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.Repository.Uri | 存放庫的 URL。 例如: 此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.RequestedFor | 請參閱「 如何設定身分識別變數? 」。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。 |
Build.RequestedForEmail | 請參閱「 如何設定身分識別變數? 」。 |
Build.RequestedForId | 請參閱「 如何設定身分識別變數? 」。 |
Build.SourceBranch | 組建已排入佇列的分支。 一些範例:
/ ) 會取代為底線字元 _ 。
注意:在 TFVC 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。 |
Build.SourceBranchName | 組建已排入佇列的分支名稱。
|
Build.SourcesDirectory |
下載原始程式碼檔案之代理程式的本機路徑。 例如: 此變數與 Build.Repository.LocalPath 同義。 |
Build.SourceVersion | 此組建中包含的最新版本控制項變更。
|
Build.SourceVersionMessage | 認可或變更集的批註。 我們會將訊息截斷為第一行或 200 個字元,只要較短。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 注意:TFS 2015.4 提供此變數。 注意 當啟用建置時 Batch 變更時 ,Build.SourceVersionMessage 變數不適用於 Bitbucket 存放庫中的傳統建 置管線。 |
Build.StagingDirectory |
將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: |
Build.Repository.Git.SubmoduleCheckout | 您已針對 [存放庫 ] 索引標籤上的 [簽出] 子模組 選取的值。 此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.SourceTfvcShelveset | 定義您的 存放庫 是否Team Foundation 版本控制。
如果您正在執行 閘道組建 或 擱置集組建 ,這會設定為您要建置的 擱置集 名稱。 注意:此變數會產生值,該值對組建編號格式的組建使用無效。 |
Build.TriggeredBy.BuildId | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發組建的 BuildID。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.TriggeredBy.DefinitionId | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發組建的 DefinitionID。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.TriggeredBy.DefinitionName | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發建置管線的名稱。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.TriggeredBy.BuildNumber | 如果組建是由 另一個組建 觸發,則此變數會設定為觸發組建的數目。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.TriggeredBy.ProjectID | 如果組建是由 另一個組建 觸發,則此變數會設定為包含觸發組建的專案識別碼。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Common.TestResultsDirectory | 建立測試結果之代理程式的本機路徑。 例如:c:\agent_work\1\TestResults
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
系統變數 (DevOps Server 2019)
變數 | 描述 |
---|---|
System.AccessToken | 使用 OAuth 權杖來存取 REST API 。
從 YAML 腳本 使用 System.AccessToken。 此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
System.CollectionId | TFS 集合或 Azure DevOps 組織的 GUID |
System.DefaultWorkingDirectory |
下載原始程式碼檔案之代理程式的本機路徑。 例如: |
System.DefinitionId | 組建管線的識別碼。 |
System.HostType | build 如果管線是組建,則設定為 。 針對發行,這些值適用于 deployment 部署群組作業和 release Agent 作業。
|
System.PullRequest.IsFork | 如果提取要求來自存放庫的分支,此變數會設定為 True 。
否則,它會設定為 False 。 |
System.PullRequest.PullRequestId | 造成此組建之提取要求的識別碼。 例如: 17 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。 |
System.PullRequest.PullRequestNumber | 造成此組建的提取要求數目。 此變數會填入 GitHub 的提取要求,其具有不同的提取要求識別碼和提取要求號碼。 |
System.PullRequest.SourceBranch | 正在提取要求中檢閱的分支。 例如: refs/heads/users/raisa/new-feature 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。 |
System.PullRequest.SourceCommitId | 正在提取要求中檢閱的認可。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。 |
System.PullRequest.SourceRepositoryURI | 包含提取要求的存放庫 URL。 例如: https://dev.azure.com/ouraccount/_git/OurProject 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Azure Repos Git PR。它不會針對 GitHub PR 初始化。 |
System.PullRequest.TargetBranch | 作為提取要求目標的分支。 例如: refs/heads/main 。 只有當組建因為受到分支 原則影響的 Git PR 而執行 時,才會初始化此變數。 |
System.TeamFoundationCollectionUri | Team Foundation 集合的 URI。 例如: https://dev.azure.com/fabrikamfiber/ 。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
System.TeamProject | 包含此組建的專案名稱。 |
System.TeamProjectId | 此組建所屬專案的識別碼。 |
TF_BUILD | True 如果腳本正由建置工作執行,則設定為 。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
代理程式變數 (TFS 2018)
注意
您可以使用代理程式變數作為腳本中的環境變數,以及做為建置工作中的參數。 您無法使用它們來自訂群組建編號,或套用版本控制標籤或標籤。
變數 | 描述 |
---|---|
Agent.BuildDirectory |
代理程式上的本機路徑,其中會建立指定組建管線的所有資料夾。 例如: |
Agent.HomeDirectory | 代理程式安裝到的目錄。 這包括代理程式軟體。 例如: c:\agent 。 |
Agent.Id | 代理程式的識別碼。 |
Agent.JobStatus | 組建的狀態。
環境變數應參考為 |
Agent.MachineName | 安裝代理程式的電腦名稱稱。 |
Agent.Name |
向集區註冊的代理程式名稱。 此名稱是由您指定。 請參閱 代理程式 。 |
Agent.TempDirectory | 在每個管線作業之後清除的暫存資料夾。 .NET Core CLI 工作等 工作會使用此目錄來保存暫存專案,例如測試結果發佈之前。 |
Agent.ToolsDirectory |
節點工具安裝程式 和使用 Python 版本 等 工作所使用的目錄,可在工具的多個版本之間切換。
這些工作會將工具從這個目錄新增至 , PATH 讓後續的建置步驟可以使用它們。
瞭解如何 在自我裝載代理程式 上管理此目錄。 |
Agent.WorkFolder |
此代理程式的工作目錄。
例如: c:\agent_work 。
|
組建變數 (TFS 2018)
變數 | 描述 |
---|---|
Build.ArtifactStagingDirectory | 將任何成品複製到其目的地之前,代理程式上的本機路徑。
將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: |
Build.BuildId | 已完成組建之記錄的識別碼。 |
Build.BuildNumber | 已完成組建的名稱。 您可以在管線選項 中指定產生此值的 組建編號格式。
此變數的一般用法是讓它成為您在存放庫 索引標籤上指定之標籤格式的 一部分。 注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。
|
Build.BuildUri | 組建的 URI。 例如: vstfs:///Build/Build/1430 。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.BinariesDirectory | 代理程式上的本機路徑,您可以做為已編譯二進位檔的輸出檔案夾。
根據預設,不會設定新的組建管線來清除此目錄。 您可以定義組建,以在 [存放庫 ] 索引標籤上 清除它。 例如: c:\agent_work\1\b 。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.DefinitionName | 組建管線的名稱。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。 |
Build.DefinitionVersion | 組建管線的版本。 |
Build.QueuedBy | 請參閱「 如何設定身分識別變數? 」。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。 |
Build.QueuedById | 請參閱「 如何設定身分識別變數? 」。 |
Build.Reason | 導致組建執行的事件。
|
Build.Repository.Clean | 您在來源存放庫設定 中 針對 [清除 ] 選取的值。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.Repository.LocalPath |
下載原始程式碼檔案之代理程式的本機路徑。 例如: 此變數與 Build.SourcesDirectory 同義。 |
Build.Repository.Name | 存放庫 的名稱 。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.Repository.Provider | 您選取 的 存放庫類型。
|
Build.Repository.Tfvc.Workspace | 定義您的 存放庫 是否Team Foundation 版本控制。 組建代理程式所使用的 TFVC 工作區 名稱 。
例如,如果 Agent.BuildDirectory 是 c:\agent_work\12 ,且 Agent.Id 為 8 ,則工作區名稱可能是: ws_12_8
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.Repository.Uri | 存放庫的 URL。 例如:
|
Build.RequestedFor | 請參閱「 如何設定身分識別變數? 」。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 將會失敗。 |
Build.RequestedForEmail | 請參閱「 如何設定身分識別變數? 」。 |
Build.RequestedForId | 請參閱「 如何設定身分識別變數? 」。 |
Build.SourceBranch | 組建已排入佇列的分支。 一些範例:
/ ) 會取代為底線字元 _ 。
注意:在 TFVC 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。 |
Build.SourceBranchName | 組建已排入佇列的分支名稱。
|
Build.SourcesDirectory |
下載原始程式碼檔案之代理程式的本機路徑。 例如: 此變數與 Build.Repository.LocalPath 同義。 |
Build.SourceVersion | 此組建中包含的最新版本控制項變更。
|
Build.SourceVersionMessage | 認可或變更集的批註。 我們會將訊息截斷為第一行或 200 個字元,只要較短。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 注意:TFS 2015.4 提供此變數。 注意 當啟用建置時 Batch 變更時 ,Build.SourceVersionMessage 變數不適用於 Bitbucket 存放庫中的傳統建 置管線。 |
Build.StagingDirectory |
將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: |
Build.Repository.Git.SubmoduleCheckout | 您已針對 [存放庫 ] 索引標籤上的 [簽出] 子模組 選取的值。 此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
Build.SourceTfvcShelveset | 定義您的 存放庫 是否Team Foundation 版本控制。
如果您正在執行 封閉式組建 或 擱置集組建 ,這會設定為您正在建置的 擱置集 名稱。 注意:此變數會產生值,該值對組建編號格式的組建使用無效。 |
Common.TestResultsDirectory | 建立測試結果之代理程式的本機路徑。 例如:c:\agent_work\1\TestResults
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
系統變數 (TFS 2018)
變數 | 描述 |
---|---|
System.AccessToken | 使用 OAuth 權杖來存取 REST API 。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
System.CollectionId | TFS 集合或 Azure DevOps 組織的 GUID |
System.DefaultWorkingDirectory |
下載原始程式碼檔案之代理程式的本機路徑。 例如: |
System.DefinitionId | 組建管線的識別碼。 |
System.HostType | build 如果管線是組建,或 release 管線是發行,則設定為 。 |
System.PullRequest.IsFork | 如果提取要求來自存放庫的分支,此變數會設定為 True 。
否則,它會設定為 False 。 適用于 TFS 2018.2 。 |
System.PullRequest.PullRequestId | 造成此組建之提取要求的識別碼。 例如: 17 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。 |
System.PullRequest.SourceBranch | 正在提取要求中檢閱的分支。 例如: refs/heads/users/raisa/new-feature 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。 |
System.PullRequest.SourceCommitId | 正在提取要求中檢閱的認可。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。 |
System.PullRequest.SourceRepositoryURI | 包含提取要求的存放庫 URL。 例如: http://our-server:8080/tfs/DefaultCollection/_git/OurProject 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Azure Repos Git PR。 |
System.PullRequest.TargetBranch | 作為提取要求目標的分支。 例如: refs/heads/main 。 只有當組建因為受到分支 原則影響的 Git PR 而執行 時,才會初始化此變數。 |
System.TeamFoundationCollectionUri | Team Foundation 集合的 URI。 例如: http://our-server:8080/tfs/DefaultCollection/ 。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
System.TeamProject | 包含此組建的專案名稱。 |
System.TeamProjectId | 此組建所屬專案的識別碼。 |
TF_BUILD | True 如果腳本正由建置工作執行,則設定為 。
此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
如何設定身分識別變數?
此值取決於造成建置的原因,以及 Azure Repos 存放庫的特定專案。
如果觸發組建... | 然後 Build.QueuedBy 和 Build.QueuedById 值會以... | 然後 Build.RequestedFor 和 Build.RequestedForId 值會以... |
---|---|---|
在 Git 中或持續 整合 (CI) 觸發程式 | 系統身分識別,例如: [DefaultCollection]\Project Collection Service Accounts |
推送或簽入變更的人員。 |
在 Git 或分支 原則組建 中。 | 系統身分識別,例如: [DefaultCollection]\Project Collection Service Accounts |
簽入變更的人員。 |
在 TFVC 中,由 閘道簽入觸發程式 | 簽入變更的人員。 | 簽入變更的人員。 |
依排程觸發程式在 Git 或 TFVC 中 | 系統身分識別,例如: [DefaultCollection]\Project Collection Service Accounts |
系統身分識別,例如: [DefaultCollection]\Project Collection Service Accounts |
因為您按一下 [ 佇列建置] 按鈕 | 您 | 您 |