gpt4 book ai didi

jenkins - 附加到作业属性

转载 作者:行者123 更新时间:2023-12-02 04:33:45 25 4
gpt4 key购买 nike

我在job-dsl.groovy中定义的工作参数被管道中定义的参数覆盖。

我正在使用job-dsl-plugin和Jenkins管道为每个git分支生成Jenkins作业。正弦我的代码存储在gitLab中,它们需要gitLab集成。我提供使用gitlab-plugin。问题在于'gitLabConnection'看起来只能从Jenkins管道内部应用。

因此,如果在job-dsl中,我会这样做:

branches.each { branch ->
String safeBranchName = branch.name.replaceAll('/', '-')
if (safeBranchName ==~ "^release.*")
{
return
}

def branch_folder = "${basePath}/${safeBranchName}"
folder branch_folder

pipelineJob("$branch_folder/build") {
logRotator {
numToKeep 20
}
parameters {
stringParam("BRANCH_NAME", "${safeBranchName}", "")

stringParam("PROJECT_NAME", "${basePath}", "")
{
}

然后在我的Jenkins管道中,添加“gitLabConnection”
node('node_A') {
properties([
gitLabConnection('gitlab.internal')
])

stage('clean up') {
deleteDir()
}
///(...)

我必须这样做:
node('node_A') {
properties([
gitLabConnection('gitlab.internal'),
parameters([
string(name: 'BRANCH_NAME', defaultValue: BRANCH_NAME, description: ''),
string(name: 'PROJECT_NAME', defaultValue: PROJECT_NAME, description: '')
])
])

stage('clean up') {
deleteDir()
}
///(...)

这样我的BRANCH_NAME和PROJECT_NAME不会被覆盖。
还有另一种解决方法吗?
是否可以将'gitLabConnection('gitlab.internal')'附加到Jenkins管道中的属性?

最佳答案

不幸的是,似乎还没有一种方法可以做到这一点。在https://issues.jenkins-ci.org/browse/JENKINS-43758上对此进行了一些讨论,我可能最终会打开一个功能请求,以允许人们“附加到属性”

关于jenkins - 附加到作业属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45984104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com