使用預先定義的變數
Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019 |TFS 2018
注意
在 Microsoft Team Foundation Server (TFS) 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.AccessToken
。
System.Debug
如需偵錯管線問題的詳細記錄,請定義 System.Debug
並將其設定為 true
。
編輯管線。
選取 [變數]。
使用名稱和
System.Debug
值true
新增變數。儲存新的變數。
將 設定 System.Debug
為 true
會為所有執行設定詳細資訊記錄。 您也可以使用 [ 啟用系統診斷 ] 核取方塊,為單一執行設定詳細資訊記錄。 如需詳細資訊,請參閱 檢閱記錄以診斷管線問題。
代理程式變數 (DevOps Services)
注意
您可以使用代理程式變數作為腳本中的環境變數,以及作為建置工作中的參數。 您無法使用它們來自訂群組建編號,或套用版本控制標籤或標籤。
變數 | 描述 |
---|---|
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 Services)
變數 | 描述 | 可在 範本中使用嗎? |
---|---|---|
Build.ArtifactStagingDirectory |
將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: |
否 |
Build.BuildId | 已完成組建之記錄的識別碼。 | 否 |
Build.BuildNumber | 已完成組建的名稱,也稱為執行編號。 您可以指定此值 中包含的內容 。 此變數的一般用法是讓它成為標籤格式的一部分,您可以在存放 庫索引標籤上指定。 注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下, 標籤格式 將會失敗。
|
否 |
Build.BuildUri | 組建的 URI。 例如:vstfs:///Build/Build/1430 。
此變數是代理程式範圍,可以做為腳本中的環境變數,也可以當做建置工作中的參數使用,但不能做為組建編號或版本控制標記的一部分。 |
否 |
Build.BinariesDirectory | 代理程式上的本機路徑,您可以做為已編譯二進位檔的輸出檔案夾。
根據預設,新組建管線不會設定為清除此目錄。 您可以定義組建,以在 [存放庫] 索引卷 標上加以清除。 例如: c:\agent_work\1\b 。
此變數是代理程式範圍,可以做為腳本中的環境變數,也可以當做建置工作中的參數使用,但不能做為組建編號或版本控制標記的一部分。 |
否 |
Build.ContainerId | 成品容器的識別碼。 當您在管線中上傳成品時,它會新增至該特定成品專屬的容器。 | 否 |
Build.DefinitionName | 組建管線的名稱。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下, 標籤格式 將會失敗。 |
是 |
Build.DefinitionVersion | 組建管線的版本。 | 是 |
Build.QueuedBy | 請參閱「如何設定身分識別變數?」。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下, 標籤格式 將會失敗。 |
是 |
Build.QueuedById | 請參閱「如何設定身分識別變數?」。 | 是 |
Build.Reason | 導致建置執行的事件。
|
是 |
Build.Repository.Clean | 您已在來源存放庫設定中選取 [清除] 的值。
此變數是代理程式範圍,可以做為腳本中的環境變數,也可以當做建置工作中的參數使用,但不能做為組建編號或版本控制標記的一部分。 |
否 |
Build.Repository.LocalPath |
下載原始程式碼檔案之代理程式的本機路徑。 例如: 重要事項:如果您只取出一個 Git 存放庫,此路徑將是程式碼的確切路徑。 如果您取出多個存放庫,則行為如下所示 (,而且可能與 Build.SourcesDirectory 變數的值不同) :
|
否 |
Build.Repository.ID | 存放 庫的唯一識別碼。
即使存放庫的名稱確實如此,這也不會變更。 此變數是代理程式範圍,可以做為腳本中的環境變數,也可以當做建置工作中的參數使用,但不能做為組建編號或版本控制標記的一部分。 |
否 |
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 |
下載原始程式碼檔案之代理程式的本機路徑。 例如: 重要事項:如果您只取出一個 Git 存放庫,此路徑將是程式碼的確切路徑。 如果您取出多個存放庫,它會還原為預設值,也就是 |
否 |
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。 在傳統管線中,此變數是由建置完成觸發程式觸發。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能當做組建編號或版本控制標記的一部分使用。 如果您使用 觸發 YAML 管線 resources ,您應該改用 資源變數 。
|
否 |
Build.TriggeredBy.DefinitionId | 如果組建 是由另一個組建觸發,則此變數會設定為觸發組建的 DefinitionID。 在傳統管線中,此變數是由建置完成觸發程式觸發。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能當做組建編號或版本控制標記的一部分使用。 如果您使用 觸發 YAML 管線 resources ,您應該改用 資源變數 。
|
否 |
Build.TriggeredBy.DefinitionName | 如果組建 是由另一個組建觸發,則此變數會設定為觸發建置管線的名稱。 在傳統管線中,此變數是由建置完成觸發程式觸發。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能當做組建編號或版本控制標記的一部分使用。 如果您使用 觸發 YAML 管線 resources ,您應該改用 資源變數 。
|
否 |
Build.TriggeredBy.BuildNumber | 如果組建 是由另一個組建觸發,則此變數會設定為觸發組建的數目。 在傳統管線中,此變數是由建置完成觸發程式觸發。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能當做組建編號或版本控制標記的一部分使用。 如果您使用 觸發 YAML 管線 resources ,您應該改用 資源變數 。
|
否 |
Build.TriggeredBy.ProjectID | 如果組建 是由另一個組建觸發,則此變數會設定為包含觸發組建的專案識別碼。 在傳統管線中,此變數是由建置完成觸發程式觸發。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能當做組建編號或版本控制標記的一部分使用。 如果您使用 觸發 YAML 管線 resources ,您應該改用 資源變數 。
|
否 |
Common.TestResultsDirectory | 建立測試結果之代理程式的本機路徑。 例如: c:\agent_work\1\TestResults
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能當做組建編號或版本控制標記的一部分使用。 |
否 |
管線變數 (DevOps Services)
變數 | 描述 |
---|---|
Pipeline.Workspace | 特定管線的工作區目錄。 此變數的值與 Agent.BuildDirectory 相同。例如: /home/vsts/work/1 。 |
部署作業變數 (DevOps Services)
這些變數的範圍僅限於特定的 部署作業 ,而且只會在作業執行時間解析。
變數 | 描述 |
---|---|
Environment.Name | 以部署作業為目標的環境名稱,以執行部署步驟並記錄部署歷程記錄。 例如: smarthotel-dev 。 |
Environment.Id | 部署作業中以為目標的環境識別碼。 例如: 10 。 |
Environment.ResourceName | 以部署作業為目標之環境內的特定資源名稱,以執行部署步驟並記錄部署歷程記錄。 例如, bookings 這是已新增為資源至環境的 smarthotel-dev Kubernetes 命名空間。 |
Environment.ResourceId | 以部署作業為目標之環境內特定資源的識別碼,以執行部署步驟。 例如: 4 。 |
Strategy.Name | 部署策略的名稱: canary 、 runOnce 或 rolling 。 |
Strategy.CycleName | 部署中的目前迴圈名稱。 選項為 PreIteration 、 Iteration 或 PostIteration 。 |
系統變數 (DevOps Services)
變數 | 描述 | 可在 範本中使用? |
---|---|---|
System.AccessToken | 使用 OAuth 權杖來存取 REST API。
使用 YAML 腳本中的 System.AccessToken。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能當做組建編號或版本控制標記的一部分使用。 |
是 |
System.CollectionId | TFS 集合或 Azure DevOps 組織的 GUID。 | 是 |
System.CollectionUri | TFS 集合或 Azure DevOps 組織的 URI。 例如:https://dev.azure.com/fabrikamfiber/ 。 |
是 |
System.DefaultWorkingDirectory |
下載原始程式碼檔案之代理程式的本機路徑。 例如: |
是 |
System.DefinitionId | 組建管線的識別碼。 | 是 |
System.HostType | build 如果管線是組建,請將 設定為 。 針對發行,這些值適用于 deployment 部署群組作業、 gates 評估閘道期間,以及其他 release (Agent 和無代理程式) 作業。 |
是 |
System.JobAttempt | 在第一次嘗試此作業時設定為 1,並在每次重試作業時遞增。 | 否 |
System.JobDisplayName | 提供給作業的人類可讀取名稱。 | 否 |
System.JobId | 單一作業嘗試的唯一識別碼。 值對目前管線而言是唯一的。 | 否 |
System.JobName | 作業的名稱,通常用於表示相依性和存取輸出變數。 | 否 |
System.PhaseAttempt | 在第一次嘗試此階段時設定為 1,並在每次重試作業時遞增。 注意: 「階段」是大部分多餘的概念,代表作業 (的設計階段,而作業則是階段) 的執行時間版本。 我們大部分已從 Azure Pipelines 中移除「階段」的概念。 矩陣和多重設定作業是唯一與「作業」不同的「階段」位置。 一個階段可以具現化多個作業,其只在其輸入中不同。 |
否 |
System.PhaseDisplayName | 提供給階段的人類可讀取名稱。 | 否 |
System.PhaseName | 作業的字串型識別碼,通常用於表示相依性和存取輸出變數。 | 否 |
System.PlanId | 單一管線執行的字串型識別碼。 | 否 |
System.PullRequest.IsFork | 如果提取要求來自存放庫的分支,此變數會設定為 True 。
否則,它會設定為 False 。 |
是 |
System.PullRequest.PullRequestId | 造成此組建之提取要求的識別碼。 例如:17 。 (只有在建置因為 受分支原則影響的 Git PR 而執行時,才會初始化此變數) 。 |
否 |
System.PullRequest.PullRequestNumber | 造成此組建的提取要求數目。 此變數會填入 GitHub 的提取要求,其具有不同的提取要求識別碼和提取要求號碼。 只有在 PR 受到分支原則影響時,才能在 YAML 管線中使用這個變數。 | 否 |
System.PullRequest.SourceBranch | 提取要求中正在檢閱的分支。 例如: refs/heads/users/raisa/new-feature 適用于 Azure Repos。 (只有在建置因為 受分支原則影響的 Git PR 而執行時,才會初始化此變數) 。 只有在 PR 受到分支原則影響時,才能在 YAML 管線中使用這個變數。 |
否 |
System.PullRequest.SourceRepositoryURI | 包含提取要求的存放庫 URL。 例如:https://dev.azure.com/ouraccount/_git/OurProject 。 |
否 |
System.PullRequest.TargetBranch | 作為提取要求目標的分支。 例如: refs/heads/main 當存放庫位於 Azure Repos,而 main 您的存放庫位於 GitHub 時。 只有在組建因為 受分支原則影響的 Git PR而執行時,才會初始化此變數。 只有在 PR 受到分支原則影響時,才能在 YAML 管線中使用這個變數。 |
否 |
System.StageAttempt | 第一次嘗試此階段時設定為 1,並在每次重試作業時遞增。 | 否 |
System.StageDisplayName | 提供給階段的人類可讀取名稱。 | 否 |
System.StageName | 階段的字串型識別碼,通常用於表示相依性和存取輸出變數。 | 否 |
System.TeamFoundationCollectionUri | TFS 集合或 Azure DevOps 組織的 URI。 例如:https://dev.azure.com/fabrikamfiber/ 。
此變數是代理程式範圍,可以做為腳本中的環境變數,也可以當做建置工作中的參數使用,但不能做為組建編號或版本控制標記的一部分。 |
是 |
System.TeamProject | 包含此組建的專案名稱。 | 是 |
System.TeamProjectId | 此組建所屬專案的識別碼。 | 是 |
System.TimelineId | 單一管線執行之執行詳細資料和記錄的字串型識別碼。 | 否 |
TF_BUILD | True 如果腳本正在由建置工作執行,請將 設定為 。
此變數是代理程式範圍,可以做為腳本中的環境變數,也可以當做建置工作中的參數使用,但不能做為組建編號或版本控制標記的一部分。 |
否 |
檢查變數 (DevOps Services)
變數 | 描述 |
---|---|
Checks.StageAttempt | 第一次嘗試此階段時設定為 1,並在每次重試階段時遞增。
此變數只能在 核准或檢查 環境內使用。 例如,您可以在叫用 $(Checks.StageAttempt) REST API 檢查中使用。 |
代理程式變數 (DevOps Server)
注意
您可以使用代理程式變數作為腳本中的環境變數,以及作為建置工作中的參數。 您無法使用它們來自訂群組建編號,或套用版本控制標籤或標籤。
變數 | 描述 |
---|---|
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)
變數 | 描述 | 可在範本中使用? |
---|---|---|
Build.ArtifactStagingDirectory |
將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: |
否 |
Build.BuildId | 已完成組建之記錄的識別碼。 | 否 |
Build.BuildNumber | 已完成組建的名稱,也稱為執行編號。 您可以指定此值 中包含的內容 。 此變數的一般用法是讓它成為標籤格式的一部分,您可以在 [存放 庫] 索引標籤上指定。 注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下, 標籤格式 將會失敗。
|
否 |
Build.BuildUri | 組建的 URI。 例如:vstfs:///Build/Build/1430 。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能當做組建編號或版本控制標記的一部分使用。 |
否 |
Build.BinariesDirectory | 代理程式上的本機路徑,可用來作為已編譯二進位檔的輸出檔案夾。
根據預設,新的組建管線不會設定為清除此目錄。 您可以定義組建,以在 [存放 庫] 索引標籤上加以清除。 例如: c:\agent_work\1\b 。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能當做組建編號或版本控制標記的一部分使用。 |
否 |
Build.ContainerId | 成品容器的識別碼。 當您在管線中上傳成品時,它會新增至該特定成品特有的容器。 | 否 |
Build.DefinitionName | 組建管線的名稱。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下, 標籤格式 將會失敗。 |
是 |
Build.DefinitionVersion | 組建管線的版本。 | 是 |
Build.QueuedBy | 請參閱「如何設定身分識別變數?」。
注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下, 標籤格式 將會失敗。 |
是 |
Build.QueuedById | 請參閱「如何設定身分識別變數?」。 | 是 |
Build.Reason | 導致組建執行的事件。
|
是 |
Build.Repository.Clean | 您在來源存放庫設定中為[清除] 選取的值。
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能當做組建編號或版本控制標記的一部分使用。 |
否 |
Build.Repository.LocalPath |
下載原始程式碼檔案之代理程式的本機路徑。 例如: 重要事項:如果您只取出一個 Git 存放庫,此路徑將是程式碼的確切路徑。 如果您取出多個存放庫,此行為如下所示 (,而且可能與 Build.SourcesDirectory 變數的值不同) :
|
否 |
Build.Repository.ID | 存放 庫的唯一識別碼。
即使存放庫的名稱確實如此,這也不會變更。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能當做組建編號或版本控制標記的一部分使用。 |
否 |
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 |
下載原始程式碼檔案之代理程式的本機路徑。 例如: 重要事項:如果您只取出一個 Git 存放庫,此路徑將是程式碼的確切路徑。 如果您取出多個存放庫,它會還原為預設值,也就是 |
否 |
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)
變數 | 描述 |
---|---|
Pipeline.Workspace | 特定管線的工作區目錄。 此變數的值與 Agent.BuildDirectory 相同。例如: /home/vsts/work/1 。 |
部署作業變數 (DevOps Server)
這些變數的範圍僅限於特定的 部署作業 ,而且只會在作業執行時間解析。
變數 | 描述 |
---|---|
Environment.Name | 以部署作業為目標的環境名稱,以執行部署步驟並記錄部署歷程記錄。 例如: smarthotel-dev 。 |
Environment.Id | 部署作業中以為目標的環境識別碼。 例如: 10 。 |
Environment.ResourceName | 以部署作業為目標之環境內的特定資源名稱,以執行部署步驟並記錄部署歷程記錄。 例如, bookings 這是已新增為資源至環境的 smarthotel-dev Kubernetes 命名空間。 |
Environment.ResourceId | 以部署作業為目標之環境內特定資源的識別碼,以執行部署步驟。 例如: 4 。 |
系統變數 (DevOps Server)
變數 | 描述 | 可在範本中使用? |
---|---|---|
System.AccessToken | 使用 OAuth 權杖來存取 REST API。
使用 YAML 腳本中的 System.AccessToken。 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能當做組建編號或版本控制標記的一部分使用。 |
是 |
System.CollectionId | TFS 集合或 Azure DevOps 組織的 GUID | 是 |
System.CollectionUri | 字串 Team Foundation Server 集合 URI。 | 是 |
System.DefaultWorkingDirectory |
下載原始程式碼檔案之代理程式的本機路徑。 例如: |
否 |
System.DefinitionId | 組建管線的識別碼。 | 是 |
System.HostType | build 如果管線是組建,請將 設定為 。 針對發行,這些值適用于 deployment 部署群組作業、 gates 評估閘道期間,以及其他 release (Agent 和無代理程式) 作業。 |
是 |
System.JobAttempt | 在第一次嘗試此作業時設定為 1,並在每次重試作業時遞增。 | 否 |
System.JobDisplayName | 提供給作業的人類可讀取名稱。 | 否 |
System.JobId | 單一作業嘗試的唯一識別碼。 值對目前管線而言是唯一的。 | 否 |
System.JobName | 作業的名稱,通常用於表示相依性和存取輸出變數。 | 否 |
System.PhaseAttempt | 第一次嘗試此階段時設定為 1,並在每次重試作業時遞增。 注意: 「階段」是大部分備援的概念,代表作業的設計階段 (,而作業則是階段的執行時間版本) 。 我們大多已從 Azure Pipelines 中移除「階段」的概念。 矩陣和多組態作業是唯一與「作業」不同的「階段」位置。 一個階段可以具現化多個作業,這些作業只會在其輸入中有所不同。 |
否 |
System.PhaseDisplayName | 提供給階段的人類可讀取名稱。 | 否 |
System.PhaseName | 作業的字串型識別碼,通常用於表示相依性和存取輸出變數。 | 否 |
System.StageAttempt | 第一次嘗試此階段時設定為 1,並在每次重試作業時遞增。 | 否 |
System.StageDisplayName | 提供給階段的人類可讀取名稱。 | 否 |
System.StageName | 階段的字串型識別碼,通常用於表示相依性和存取輸出變數。 | 是 |
System.PullRequest.IsFork | 如果提取要求來自存放庫的分支,此變數會設定為 True 。
否則,它會設定為 False 。 |
是 |
System.PullRequest.PullRequestId | 造成此組建之提取要求的識別碼。 例如:17 。 (只有在建置因為 受分支原則影響的 Git PR 而執行時,才會初始化此變數) 。 |
否 |
System.PullRequest.PullRequestNumber | 造成此組建的提取要求數目。 此變數會填入 GitHub 的提取要求,其具有不同的提取要求識別碼和提取要求號碼。 只有在 PR 受到分支原則影響時,才能在 YAML 管線中使用這個變數。 | 否 |
System.PullRequest.SourceBranch | 提取要求中正在檢閱的分支。 例如:refs/heads/users/raisa/new-feature 。 (只有在建置因為 受分支原則影響的 Git PR 而執行時,才會初始化此變數) 。 只有在 PR 受到分支原則影響時,才能在 YAML 管線中使用這個變數。 |
否 |
System.PullRequest.SourceRepositoryURI | 包含提取要求的存放庫 URL。 例如:https://dev.azure.com/ouraccount/_git/OurProject 。 |
否 |
System.PullRequest.TargetBranch | 作為提取要求目標的分支。 例如: refs/heads/main 當存放庫位於 Azure Repos,而 main 您的存放庫位於 GitHub 時。 只有在組建因為 受分支原則影響的 Git PR而執行時,才會初始化此變數。 只有在 PR 受到分支原則影響時,才能在 YAML 管線中使用這個變數。 |
否 |
System.TeamFoundationCollectionUri | 小組基礎集合的 URI。 例如: https://dev.azure.com/fabrikamfiber/
此變數是代理程式範圍,可以做為腳本中的環境變數,也可以當做建置工作中的參數使用,但不能做為組建編號或版本控制標記的一部分。 |
是 |
System.TeamProject | 包含此組建的專案名稱。 | 是 |
System.TeamProjectId | 此組建所屬專案的識別碼。 | 是 |
TF_BUILD | True 如果腳本正在由建置工作執行,請將 設定為 。
此變數是代理程式範圍,可以做為腳本中的環境變數,也可以當做建置工作中的參數使用,但不能做為組建編號或版本控制標記的一部分。 |
否 |
代理程式變數 (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.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 | 小組基礎集合的 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.SourceRepositoryURI | 包含提取要求的存放庫 URL。 例如:http://our-server:8080/tfs/DefaultCollection/_git/OurProject 。 (只有當組建因為受分支原則影響Azure Repos Git PR而執行時,才會初始化此變數。) |
System.PullRequest.TargetBranch | 作為提取要求目標的分支。 例如:refs/heads/main 。 只有當組建因為 受分支原則影響的 Git PR而執行時,才會初始化此變數。 |
System.TeamFoundationCollectionUri | 小組基礎集合的 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 或 TFVC 中,透過 持續整合 (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 |
因為您已按一下 [ 佇列建置] 按鈕 | 您 | 您 |