【发布时间】:2019-06-28 07:29:43
【问题描述】:
我们在 TFS (2017.3) 中有一个 Git 存储库,我们的构建在 Jenkins 上运行。
我们想在拉取请求中实现构建验证,因此我们创建了一个构建定义,将 Jenkins 作业排队并在“作业参数”中输入
BRANCH=$(System.PullRequest.SourceBranch):
问题在于,在 TFS Get Sources 步骤中,TFS 创建了一个临时合并的分支来检查 PR,但 System.PullRequest.SourceBranch 返回的是 PR 源分支(例如功能分支)而不是合并的分支,因此 Jenkins 作业运行在源分支上而不检查 PR。
我们可以将合并后的分支发送给 Jenkins,还是必须在 Jenkins 工作中进行合并?
更新:
我看到变量 Build.SourceBranch 返回了合并的分支,但看起来 Jenkins 工作不知道这个分支。我现在检查了代理并且 Git 位于 Detached HEAD 中,所以我假设没有选项可以从代理外部获取(即使代理创建了一个新分支 - “合并分支”它只是本地的)。有什么想法吗?
【问题讨论】:
-
只是瞎拍,会不会是分行名里有空格?我不确定在这种情况下扩展
BRANCH=$(...)是如何不带引号的。 -
嗨大卫,树枝上没有空格:(
标签: git jenkins tfs azure-devops tfsbuild