使用預先定義的變數
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
變數提供將重要資料位元匯入管道不同部分的便利方式。 這是可供您使用的預先定義變數清單。 可能有一些其他預先定義的變數,但大部分是供內部使用。
系統會自動設定這些變數,而且是唯讀的。 (例外狀況為 Build.Clean 和 System.Debug。)
在 YAML 管線中,您可以將預先定義的變數參考為環境變數。 例如,變數 Build.ArtifactStagingDirectory
會變成變數 BUILD_ARTIFACTSTAGINGDIRECTORY
。
針對傳統管線,您可以在部署工作中使用 發行變數 來共用通用資訊(例如環境名稱、資源群組等)。
深入瞭解 如何使用變數。
Build.Clean
這是已淘汰的變數,可修改組建代理程式如何清除來源。 若要瞭解如何清除來源,請參閱 清除代理程式上的本機存放庫。
System.AccessToken
System.AccessToken
是一個特殊變數,會攜帶執行中組建所使用的安全性令牌。
在 YAML 中,您必須使用變數明確對應 System.AccessToken
至管線。 您可以在步驟或工作層級執行此動作:
steps:
- script: |
echo "Using System.AccessToken to authenticate"
git clone https://$(System.AccessToken)@dev.azure.com/yourorganization/yourproject/_git/yourrepository
displayName: 'Clone repository using 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.OidcRequestUri | idToken 使用 OpenID Connect 產生以 Entra ID 進行驗證的 (OIDC)。 深入了解。 |
Yes |
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 | 代理程式上的本機路徑,其中會建立指定組建管線的所有資料夾。 此變數的值與 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 Server 2022)
當您在範本中未標示為可用的範本中使用變數時,變數將不會轉譯。 變數不會轉譯,因為它的值無法在範本的範圍內存取。
變數 | 描述 | 可在範本中使用? |
---|---|---|
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 變數。 此變數可在 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 | 下載原始碼檔案之代理程式的本機路徑。 例如: 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 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 | 下載原始碼檔案之代理程式的本機路徑。 例如: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.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 | 代理程式上的本機路徑,其中會建立指定組建管線的所有資料夾。 此變數的值與 Pipeline.Workspace 相同。 例如: /home/vsts/work/1 。 |
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 。 注意:此目錄不保證可由管線工作寫入(例如,對應至容器時) |
組建變數 (DevOps Server 2020)
當您在範本中未標示為可用的範本中使用變數時,變數將不會轉譯。 變數不會轉譯,因為它的值無法在範本的範圍內存取。
變數 | 描述 | 可在範本中使用? |
---|---|---|
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.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 個字元,只要較短。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 此外,此變數只能在步驟層級上使用,而且無法在作業或階段層級中使用(也就是說,在作業啟動並取出程序代碼之前,不會擷取訊息)。 注意: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。 在傳統管線中,此變數是由組建完成觸發程式觸發。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 |
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 | 下載原始碼檔案之代理程式的本機路徑。 例如:c:\agent_work\1\s 根據預設,新的組建管線只會更新已變更的檔案。 您可以修改在 [存放庫] 索引標籤上下載檔案的方式。 此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
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 | 代理程式上的本機路徑,其中會建立指定組建管線的所有資料夾。 例如: c:\agent_work\1 。 |
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 工作等工作會使用此目錄來保存暫存專案,例如測試結果發佈之前。 |
Agent.ToolsDirectory | 節點工具安裝程式和使用 Python 版本等工作所使用的目錄,可在工具的多個版本之間切換。 這些工作會將工具從這個目錄新增至 , PATH 讓後續的建置步驟可以使用它們。 瞭解如何 在自我裝載代理程式上管理此目錄。 |
Agent.WorkFolder | 此代理程式的工作目錄。 例如: c:\agent_work 。 此目錄不保證可由管線工作寫入(例如,對應至容器時)。 |
組建變數 (DevOps Server 2019)
變數 | 描述 |
---|---|
Build.ArtifactStagingDirectory | 將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: c:\agent_work\1\a 。 使用此資料夾的一般方式是使用複製檔案和發佈組建成品工作來發佈組建成品。 注意:Build.ArtifactStagingDirectory 和 Build.StagingDirectory 可交換。 此目錄會在每個新組建之前清除,因此您不需要自行清除目錄。 請參閱 Azure Pipelines 中的成品。 此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
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 | 下載原始碼檔案之代理程式的本機路徑。 例如:c:\agent_work\1\s 根據預設,新的組建管線只會更新已變更的檔案。 您可以修改在 [存放庫] 索引標籤上下載檔案的方式。 此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 此變數與 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 | 下載原始碼檔案之代理程式的本機路徑。 例如: c:\agent_work\1\s 。根據預設,新的組建管線只會更新已變更的檔案。 您可以修改在 [存放庫] 索引標籤上下載檔案的方式。 此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 此變數與 Build.Repository.LocalPath 同義。 |
Build.SourceVersion | 此組建中包含的最新版本控制項變更。
|
Build.SourceVersionMessage | 認可或變更集的批注。 我們會將訊息截斷為第一行或 200 個字元,只要較短。 此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 注意:TFS 2015.4 提供此變數。 注意:在啟用建置時 Batch 變更時,Build.SourceVersionMessage 變數不適用於 Bitbucket 存放庫中的傳統組建管線。 |
Build.StagingDirectory | 將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: c:\agent_work\1\a 。 使用此資料夾的一般方式是使用複製檔案和發佈組建成品工作來發佈組建成品。 注意:Build.ArtifactStagingDirectory 和 Build.StagingDirectory 可交換。 此目錄會在每個新組建之前清除,因此您不需要自行清除目錄。 請參閱 Azure Pipelines 中的成品。 此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
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 | 下載原始碼檔案之代理程式的本機路徑。 例如:c:\agent_work\1\s 根據預設,新的組建管線只會更新已變更的檔案。 您可以修改在 [存放庫] 索引標籤上下載檔案的方式。 此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
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 如果文稿正由建置工作執行,則設定為 。 此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。 |
如何設定身分識別變數?
此值取決於造成建置的原因,以及 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 |
因為您按兩下 [ 佇列建置] 按鈕 | 您 | 您 |