【发布时间】:2016-11-21 08:12:34
【问题描述】:
我需要在我的 Jenkins 管道中使用“签出”步骤来为我的变更集生成存储库浏览器链接,以指向 Bitbucket(托管)。
来源看起来像
stage('Checkout') {
checkout([$class: 'GitSCM', branches: [[name: '*/master']],
userRemoteConfigs: [[url: 'ssh://git@myhostedbitbucket/myProject/myRepo.git']],
browser: [$class: 'BitbucketWeb', repoUrl: 'https://myhostedbitbucket/projects/myProject/repos/myRepo']]
)
}
生成了 3 种不同类型的链接,其中 2 种有效:
- 修订链接 - 指向 https://myhostedbitbucket/projects/myProject/repos/myRepo/commits/1642a36f0626c40697c169afd6fb36ffee9ebb27 --> 按预期工作
- Diff Link - 指向https://myhostedbitbucket/projects/myProject/repos/myRepo/commits/1642a36f0626c40697c169afd6fb36ffee9ebb27#chg-package/of/java/class.java --> 按预期工作
- 源链接 - 指向https://myhostedbitbucket/projects/myProject/repos/myRepo/history/package/of/java/class.java --> 到 404 的路线
如果我手动将链接中的“历史记录”替换为“浏览”,则链接会按预期工作。
我还尝试验证,如果问题仅发生在托管的 Bitbucket 上,而且 bitbucket.org 没有这样的“历史”链接。
这是 Jenkins Checkout 步骤中的错误还是我这边的错误配置?
我有以下设置:
- 詹金斯 2.32
- Git 插件 3.0.0
- 管道插件 2.4(管道 SCM 插件 2.3)
- Atlassian Bitbucket v4.9.1
【问题讨论】:
-
在 git-client 插件中找到硬编码的“历史”并创建了一个 Jira Ticket:issues.jenkins-ci.org/browse/JENKINS-39905
标签: git jenkins bitbucket jenkins-pipeline bitbucket-server