如何在 运行 Azure 管道中使用标记在提交时获取 git 分支?
How to get git branch at commit with tag at run Azure pipeline?
在 Azure Pipeline 中,可以使用预定义的构建变量(DevOps 服务)Build.SourceBranch 和 Build.SourceBranchName,但它们在带有标签的情况下提交时的值是标签。
- 当您的管道被标签触发时:refs/tags/your-tag-name
- 构建排队等待的触发回购中的分支名称。
Git repo 分支或拉取请求:ref 中的最后一个路径段。例如,在 refs/heads/master 中,此值为 master。在 refs/heads/feature/tools 中,此值为工具。
- 这是我的观察:但如果带有标签的提交是 Build.SourceBranch 的最后一个路径段,那么你的标签名称
如文档中所述。如果管道由标记触发。然后变量 Build.SourceBranch 和 Build.SourceBranchName 将是标签名称。
但是,您可以使用 git 命令(git branch -r --contains $(Build.SourceBranchName) | grep -v $(Build.SourceVersion)
) 来检索标签指向的分支名称。
如果要使用分支名称作为变量,可以使用logging commands(echo "##vso[task.setvariable variable=CurrentBranch]$branch"
)定义一个变量。对于以下示例:
- powershell: |
#get the branch name
$branch = git branch -r --contains $(Build.SourceBranchName) | grep -v $(Build.SourceVersion)
#define varialbe CurrentBranch to hold the value.
echo "##vso[task.setvariable variable=CurrentBranch]$branch"
- powershell: echo "$(CurrentBranch)" #use the branch name in the following steps by referring to $(CurrentBranch)
在 Azure Pipeline 中,可以使用预定义的构建变量(DevOps 服务)Build.SourceBranch 和 Build.SourceBranchName,但它们在带有标签的情况下提交时的值是标签。
- 当您的管道被标签触发时:refs/tags/your-tag-name
- 构建排队等待的触发回购中的分支名称。 Git repo 分支或拉取请求:ref 中的最后一个路径段。例如,在 refs/heads/master 中,此值为 master。在 refs/heads/feature/tools 中,此值为工具。
- 这是我的观察:但如果带有标签的提交是 Build.SourceBranch 的最后一个路径段,那么你的标签名称
如文档中所述。如果管道由标记触发。然后变量 Build.SourceBranch 和 Build.SourceBranchName 将是标签名称。
但是,您可以使用 git 命令(git branch -r --contains $(Build.SourceBranchName) | grep -v $(Build.SourceVersion)
) 来检索标签指向的分支名称。
如果要使用分支名称作为变量,可以使用logging commands(echo "##vso[task.setvariable variable=CurrentBranch]$branch"
)定义一个变量。对于以下示例:
- powershell: |
#get the branch name
$branch = git branch -r --contains $(Build.SourceBranchName) | grep -v $(Build.SourceVersion)
#define varialbe CurrentBranch to hold the value.
echo "##vso[task.setvariable variable=CurrentBranch]$branch"
- powershell: echo "$(CurrentBranch)" #use the branch name in the following steps by referring to $(CurrentBranch)