【发布时间】:2020-02-14 20:21:17
【问题描述】:
我正在使用声明性管道和 groovy 脚本来检查我的分支。我使用结帐步骤结帐:
[$class: 'GitSCM',
branches: [[name: "${selectedBranch}"]],
browser: [$class: 'BitbucketWeb', repoUrl: 'myURL'],
doGenerateSubmoduleConfigurations: false,
extensions:
[[$class: 'CloneOption', noTags: false, reference: "${cloneReference}", shallow: true, timeout: 5]],
submoduleCfg: [],
userRemoteConfigs: [[url: "${projectDetails.repositoryAddress}"]]])
而且效果很好。但是,在查看更改历史记录时,它显示的是我的共享库的历史记录,而不是签出的实际分支的历史记录。这意味着我正在获取我的 jenkins groovy 更改的所有历史记录,但没有正在构建的实际解决方案/源的历史记录。我想不出办法来克服这个问题。
在我的 Jenkins 工作中,我看到了这一点:
Started by user Me
Revision: 53eb41e0c05fd4cb466268947102990b2b14354e
GroovyImplementation
Revision: 825d8201904b000f479ebc91c9d244cfb956dd85
refs/remotes/origin/releases/release-2.18
在“更改”页面上,我看到“GroovyImplementation”的更改(其中通常没有更改),但我想要更改“refs/remotes/origin/releases/release-2.18”,这是有意义的更改所在。
同样,在舞台视图中,我看到的是“GroovyImplementation”的提交次数,而不是发布分支。
如何在不使用多管道构建的情况下显示发布分支的签出信息?
【问题讨论】:
-
我进行了这些更改,但没有任何效果。截至今天早上,我的 Jenkins 是最新版本,所有插件都已更新。它仍然显示共享库的更改历史记录,并且没有显示通过“结帐”管道步骤更新的分支的历史记录。 Jenkins 在按照其他帖子中的建议激活该功能后重新启动。我不确定我应该在这里还是在其他线程上制作我的 cmets。另一个线程似乎只指抑制库更改,我的问题的大部分是在结帐时没有获得分支的提交
-
所以,只是为了说清楚。您是否希望每次运行该作业时都针对特定分支计算更改?
-
我希望它显示针对非共享库克隆/编译/测试的分支的更改。在上面的示例中,“GroovyImplementation”是共享库,我对此进行了更改。 “.../releases/release-2.18”是该作业实际克隆、构建、测试、发布等的分支,但我没有更改历史记录。这有意义吗?
标签: jenkins jenkins-pipeline jenkins-declarative-pipeline