如何获得构建管道的完整路径
How to get full path to build pipeline
在自定义 vsts 构建任务中,我想知道当前构建管道的路径,以便我可以重复使用该路径来自动计算构建放置文件夹的路径。
在我创建构建管道的 vsts 构建门户中,它们可以组织到文件夹中。这是我需要在构建任务中使用的文件夹路径。我可以从这里的变量中获取构建管道的名称:https://docs.microsoft.com/en-us/vsts/pipelines/build/variables?view=vsts&tabs=batch
但是,文件夹名称没有变量。如何获取文件夹名称?
您必须为构建管道使用代理。代理可能托管在 VSTS 上,也可能位于您的场所。
现在,构建定义中的所有任务都在代理上执行。代理只是一台机器。通常它在构建过程中使用以下文件夹。
- Build.Repository.LocalPath 或 Build.SourcesDirectory 或
System.DefaultWorkingDirectory = c:\agent_work\s : 本地路径
在下载源代码文件的代理上
- Build.ArtifactStagingDirectory 或 Build.StagingDirectory =
c:\agent_work\a: 代理上任何工件所在的本地路径
在被推送到目的地之前被复制到。
所以回答你的问题:
- c:\agent_work\s这里源码下载。
- c:\agent_work\a 在这里你可以复制任何东西。构建定义使用此路径在构建结束时生成构建工件。
构建定义所在的文件夹纯粹是构建定义的东西 -- 它与 运行 构建无关,因此它不会作为构建时变量填充。
您可以通过调用 REST API 来检索构建定义:
GET https://{accountName}.visualstudio.com/{project}/_apis/build/definitions/{definitionId}?api-version=4.1
。帐户 URI 和构建定义 ID 在 运行 构建中可用,您可以轻松地允许您的脚本访问 OAuth 令牌(填充在 SYSTEM_ACCESSTOKEN
环境变量中)以进行身份验证。
这将 return 一个 JSON 对象,其中包含一个 path
属性。这是您的构建定义的路径。
在自定义 vsts 构建任务中,我想知道当前构建管道的路径,以便我可以重复使用该路径来自动计算构建放置文件夹的路径。
在我创建构建管道的 vsts 构建门户中,它们可以组织到文件夹中。这是我需要在构建任务中使用的文件夹路径。我可以从这里的变量中获取构建管道的名称:https://docs.microsoft.com/en-us/vsts/pipelines/build/variables?view=vsts&tabs=batch
但是,文件夹名称没有变量。如何获取文件夹名称?
您必须为构建管道使用代理。代理可能托管在 VSTS 上,也可能位于您的场所。
现在,构建定义中的所有任务都在代理上执行。代理只是一台机器。通常它在构建过程中使用以下文件夹。
- Build.Repository.LocalPath 或 Build.SourcesDirectory 或 System.DefaultWorkingDirectory = c:\agent_work\s : 本地路径 在下载源代码文件的代理上
- Build.ArtifactStagingDirectory 或 Build.StagingDirectory = c:\agent_work\a: 代理上任何工件所在的本地路径 在被推送到目的地之前被复制到。
所以回答你的问题:
- c:\agent_work\s这里源码下载。
- c:\agent_work\a 在这里你可以复制任何东西。构建定义使用此路径在构建结束时生成构建工件。
构建定义所在的文件夹纯粹是构建定义的东西 -- 它与 运行 构建无关,因此它不会作为构建时变量填充。
您可以通过调用 REST API 来检索构建定义:
GET https://{accountName}.visualstudio.com/{project}/_apis/build/definitions/{definitionId}?api-version=4.1
。帐户 URI 和构建定义 ID 在 运行 构建中可用,您可以轻松地允许您的脚本访问 OAuth 令牌(填充在 SYSTEM_ACCESSTOKEN
环境变量中)以进行身份验证。
这将 return 一个 JSON 对象,其中包含一个 path
属性。这是您的构建定义的路径。