使用预定义变量
Azure DevOps Services | Azure DevOps Server 2020 | 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添加新变量。
保存新变量。
代理变量 (DevOps Services)
注意
可以将代理变量用作脚本中的环境变量,并在生成任务中用作参数。 不能使用它们自定义内部版本号或应用版本控制标签或标记。
| 变量 | 说明 |
|---|---|
| Agent.BuildDirectory |
代理上创建给定生成管道的所有文件夹的本地路径。 此变量的值与 例如: |
| Agent.ContainerMapping |
从 YAML 中的容器资源名称到运行时的 Docker ID 的映射。 例如: |
| Agent.HomeDirectory | 代理安装到的目录。 这包括代理软件。 例如:c:\agent。 |
| Agent.Id | 代理的 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 | 已完成生成记录的 ID。 | 否 |
| Build.BuildNumber | 已完成生成的名称,也称为运行编号。 可以指定此值 中包含的内容 。 此变量的典型用法是在 存储库选项卡上指定的标签格式。 注意:此值可以包含空格或其他无效标签字符。 在这些情况下, 标签格式 将失败。
|
否 |
| Build.BuildUri | 生成的 URI。 例如:vstfs:///Build/Build/1430。
此变量是代理范围的,可用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 |
否 |
| Build.BinariesDirectory | 代理上的本地路径,可以用作已编译二进制文件的输出文件夹。
默认情况下,不会设置新的生成管道以清理此目录。 可以定义生成以在 “存储库”选项卡上清理它。 例如: c:\agent_work\1\b。
此变量是代理范围的,可用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 |
否 |
| Build.ContainerId | 项目的容器 ID。 在管道中上传项目时,它会添加到特定于该特定项目的容器中。 | 否 |
| 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 中可用。 |
否 |
| Build.StagingDirectory |
将任何项目复制到其目标的代理上的本地路径。 例如: |
否 |
| Build.Repository.Git.SubmoduleCheckout | 为存储库选项卡上的“签出”子模块选择的值。签出多个存储库后,此值将跟踪触发存储库的设置。
此变量是代理范围的,可用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 |
否 |
| Build.SourceTfvcShelveset | 定义存储库是否Team Foundation 版本控制。
如果运行的是 封闭式内部版本 或 货架集,则会将其设置为要构建的 货架集 的名称。 注意:此变量生成一个值,该值对于内部版本号格式的生成使用无效。 |
否 |
| Build.TriggeredBy.BuildId | 如果生成 是由另一个生成触发的,则此变量将设置为触发生成的 BuildID。 在经典管道中,此变量由生成完成触发器触发。
此变量是代理范围的,可用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 如果要使用 resourcesYAML 管道,则应改用 资源变量 。
|
否 |
| Build.TriggeredBy.DefinitionId | 如果生成 是由另一个生成触发的,则此变量将设置为触发生成的 DefinitionID。 在经典管道中,此变量由生成完成触发器触发。
此变量是代理范围的,可用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 如果要使用 resourcesYAML 管道,则应改用 资源变量 。
|
否 |
| Build.TriggeredBy.DefinitionName | 如果生成 是由另一个生成触发的,则此变量将设置为触发生成管道的名称。 在经典管道中,此变量由生成完成触发器触发。
此变量是代理范围的,可用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 如果要使用 resourcesYAML 管道,则应改用 资源变量 。
|
否 |
| Build.TriggeredBy.BuildNumber | 如果生成 是由另一个生成触发的,则此变量设置为触发生成的数目。 在经典管道中,此变量由生成完成触发器触发。
此变量是代理范围的,可用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 如果要使用 resourcesYAML 管道,则应改用 资源变量 。
|
否 |
| Build.TriggeredBy.ProjectID | 如果生成 是由另一个生成触发的,则此变量设置为包含触发生成的项目的 ID。 在经典管道中,此变量由生成完成触发器触发。
此变量是代理范围的,可用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 如果要使用 resourcesYAML 管道,则应改用 资源变量 。
|
否 |
| 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 | 部署作业中面向的环境 ID。 例如 10。 |
| Environment.ResourceName | 部署作业中针对环境的特定资源的名称,用于运行部署步骤并记录部署历史记录。 例如, bookings 它是作为资源添加到环境的 smarthotel-devKubernetes 命名空间。 |
| Environment.ResourceId | 针对部署作业环境中特定资源的 ID,以运行部署步骤。 例如,4。 |
| Strategy.Name | 部署策略的名称:canary或runOncerolling。 |
| 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 | 生成管道的 ID。 | 是 |
| System.HostType | build设置为管道是否为生成。 对于发布,这些值适用于 deployment 部署组作业、 gates 评估入口期间,以及其他 release (代理和无代理) 作业。 |
是 |
| 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 | 导致此生成的拉取请求的 ID。 例如:17。 (仅当生成因 受分支策略影响而受分支策略影响的 Git PR) 时,才会初始化此变量。 |
否 |
| System.PullRequest.PullRequestNumber | 导致此生成的拉取请求的数目。 为 GitHub 中的拉取请求填充此变量,该请求具有不同的拉取请求 ID 和拉取请求编号。 仅当 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 | 此生成所属的项目的 ID。 | 是 |
| System.TimelineId | 单个管道运行的执行详细信息和日志的基于字符串的标识符。 | 否 |
| TF_BUILD | 设置为 True 脚本是否由生成任务运行。
此变量是代理范围的,可用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 |
否 |
检查变量 (DevOps Services)
| 变量 | 说明 |
|---|---|
| Checks.StageAttempt | 首次尝试此阶段时设置为 1,每次重试阶段时递增。
此变量只能在 审批或检查 环境中使用。 例如,可以在调用 REST API 检查中使用 $(Checks.StageAttempt)。 |
代理变量 (DevOps Server 2020)
备注
可以将代理变量用作脚本中的环境变量,并在生成任务中用作参数。 不能使用它们自定义内部版本号或应用版本控制标签或标记。
| 变量 | 说明 |
|---|---|
| Agent.BuildDirectory |
代理上创建给定生成管道的所有文件夹的本地路径。 此变量的值与 例如: |
| Agent.HomeDirectory | 代理安装到的目录。 这包括代理软件。 例如:c:\agent。 |
| Agent.Id | 代理的 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 |
将任何项目复制到其目标的代理上的本地路径。 例如: |
否 |
| Build.BuildId | 已完成生成记录的 ID。 | 否 |
| Build.BuildNumber | 已完成的生成的名称,也称为运行编号。 可以指定此值 中包含的内容 。 此变量的典型用法是在 存储库选项卡上指定的标签格式的一部分。 注意:此值可以包含空格或其他无效的标签字符。 在这些情况下, 标签格式 将失败。
|
否 |
| Build.BuildUri | 生成的 URI。 例如:vstfs:///Build/Build/1430。
此变量是代理范围的,可用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 |
否 |
| Build.BinariesDirectory | 代理上的本地路径,可以用作已编译二进制文件的输出文件夹。
默认情况下,不会设置新的生成管道来清理此目录。 可以定义生成以在 “存储库”选项卡上清理它。 例如: c:\agent_work\1\b。
此变量是代理范围的,可用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 |
否 |
| Build.ContainerId | 项目的容器 ID。 在管道中上传项目时,它会添加到特定于该特定项目的容器中。 | 否 |
| 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 中可用。 |
否 |
| 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 | 如果生成 是由另一个生成触发的,则此变量设置为包含触发生成的项目的 ID。 在经典管道中,此变量由生成完成触发器触发。
此变量是代理范围的,可用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 |
否 |
| Common.TestResultsDirectory | 在其中创建测试结果的代理上的本地路径。 例如: c:\agent_work\1\TestResults
此变量是代理范围的,可用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 |
否 |
管道变量 (DevOps Server 2020)
| 变量 | 说明 |
|---|---|
| Pipeline.Workspace | 特定管道的工作区目录。 此变量的值与 Agent.BuildDirectory.例如 /home/vsts/work/1。 |
部署作业变量 (DevOps Server 2020)
这些变量的范围限定为特定的 部署作业 ,并且仅在作业执行时解析。
| 变量 | 说明 |
|---|---|
| Environment.Name | 部署作业中针对的环境的名称,用于运行部署步骤并记录部署历史记录。 例如 smarthotel-dev。 |
| Environment.Id | 部署作业中面向的环境 ID。 例如,10。 |
| Environment.ResourceName | 部署作业中针对环境的特定资源的名称,用于运行部署步骤并记录部署历史记录。 例如, bookings 它是作为资源添加到环境的 smarthotel-devKubernetes 命名空间。 |
| Environment.ResourceId | 针对部署作业环境中特定资源的 ID,以运行部署步骤。 例如 4。 |
系统变量 (DevOps Server 2020)
| 变量 | 说明 | 在模板中可用? |
|---|---|---|
| System.AccessToken | 使用 OAuth 令牌访问 REST API。
使用 YAML 脚本的 System.AccessToken。 此变量是代理范围的,可用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 |
是 |
| System.CollectionId | TFS 集合或 Azure DevOps 组织的 GUID | 是 |
| System.CollectionUri | 字符串 Team Foundation Server 集合 URI。 | 是 |
| System.DefaultWorkingDirectory |
下载源代码文件的代理上的本地路径。 例如: |
否 |
| System.DefinitionId | 生成管道的 ID。 | 是 |
| System.HostType | build设置为管道是否为生成。 对于发布,这些值适用于 deployment 部署组作业、 gates 评估入口期间,以及其他 release (代理和无代理) 作业。 |
是 |
| 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 | 导致此生成的拉取请求的 ID。 例如:17。 (仅当生成因 受分支策略影响而运行的 Git PR) 时,才会初始化此变量。 |
否 |
| System.PullRequest.PullRequestNumber | 导致此生成的拉取请求数。 为 GitHub 的拉取请求填充此变量,其中包含不同的拉取请求 ID 和拉取请求号。 如果 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 | 此生成所属的项目 ID。 | 是 |
| TF_BUILD | True设置为脚本是否由生成任务运行。
此变量是代理范围的,可用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 |
否 |
2019) 2019 (DevOps Server代理变量
备注
可以将代理变量用作脚本中的环境变量,并在生成任务中用作参数。 不能使用它们来自定义内部版本号或应用版本控制标签或标记。
| 变量 | 说明 |
|---|---|
| Agent.BuildDirectory |
在其中创建给定生成管道的所有文件夹的代理上的本地路径。 例如: |
| Agent.HomeDirectory | 代理安装到的目录。 这包括代理软件。 例如:c:\agent。 |
| Agent.Id | 代理的 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 | 已完成生成记录的 ID。 |
| 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 中可用。 |
| 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 | 如果生成 是由另一个生成触发的,则此变量设置为包含触发生成的项目的 ID。
此变量是代理范围的。 它可以用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 |
| 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 | 生成管道的 ID。 |
| System.HostType | build设置为管道是否为生成。 对于发布,这些值适用于 deployment 部署组作业和 release 代理作业。
|
| System.PullRequest.IsFork | 如果拉取请求来自存储库的分支,则此变量设置为 True。
否则,它设置为 False。 |
| System.PullRequest.PullRequestId | 导致此生成的拉取请求的 ID。 例如:17。 (仅当生成因 受分支策略影响的 Git PR 而运行时,才会初始化此变量。) |
| System.PullRequest.PullRequestNumber | 导致此生成的拉取请求数。 为 GitHub 的拉取请求填充此变量,其中包含不同的拉取请求 ID 和拉取请求号。 |
| 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 PRs.) |
| System.PullRequest.TargetBranch | 作为拉取请求目标的分支。 例如:refs/heads/main。 仅当生成因 受分支策略影响的 Git PR 而运行时,才会初始化此变量。 |
| System.TeamFoundationCollectionUri | 团队基础集合的 URI。 例如:https://dev.azure.com/fabrikamfiber/。
此变量是代理范围的。 它可以用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 |
| System.TeamProject | 包含此生成的项目的名称。 |
| System.TeamProjectId | 此生成所属的项目 ID。 |
| TF_BUILD | True设置为脚本是否由生成任务运行。
此变量是代理范围的。 它可以用作脚本中的环境变量和生成任务中的参数,但不能用作内部版本号或版本控制标记的一部分。 |
代理变量 (TFS 2018)
注意
可以将代理变量用作脚本中的环境变量,并在生成任务中用作参数。 不能使用它们来自定义内部版本号或应用版本控制标签或标记。
| 变量 | 说明 |
|---|---|
| Agent.BuildDirectory |
在其中创建给定生成管道的所有文件夹的代理上的本地路径。 例如: |
| Agent.HomeDirectory | 代理安装到的目录。 这包括代理软件。 例如:c:\agent。 |
| Agent.Id | 代理的 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 | 已完成生成记录的 ID。 |
| 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 中可用。 |
| 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 | 生成管道的 ID。 |
| System.HostType | 设置为 build 管道是生成,或者 release 管道是否为发布。 |
| System.PullRequest.IsFork | 如果拉取请求来自存储库的分支,则此变量设置为 True。
否则,它设置为 False。 在 TFS 2018.2 中可用。 |
| System.PullRequest.PullRequestId | 导致此生成的拉取请求的 ID。 例如:17。 (仅当生成因 受分支 policy.) 影响的 Git PR 而运行时,才会初始化此变量 |
| System.PullRequest.SourceBranch | 正在拉取请求中查看的分支。 例如:refs/heads/users/raisa/new-feature。 (仅当生成因 受分支 policy.) 影响的 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 | 此生成所属的项目的 ID。 |
| 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 |
| 因为单击了 “队列生成 ”按钮 | 你 | 你 |