Jenkins Job DSL - 无法从文件加载参数

发布于 2025-01-11 09:49:49 字数 846 浏览 7 评论 0原文

DSL 作业:

#!groovy

def file = readFileFromWorkspace('params.properties').trim()


job('app-adm') {
  label("adm")
  println("#" + file + "#")
  parameters{
    file 
  }
  steps 
  {
    shell(readFileFromWorkspace('script-adm.sh'))
  }
}

job('app-tst-mt')
{
  parameters 
  {
     booleanParam('FLAG', true)
  }
  steps 
  {
    shell(readFileFromWorkspace('script-tst-mt.sh'))
  }
}

params.properties:

choiceParam('OPTION', ['option 1 (default)', 'option 2', 'option 3'])

我尝试过:

什么都不起作用,通过作业内部的 println,我可以清楚地看到有一个我想放入参数中的字符串,但是这样做时它没有注册它,我也没有注册它没有得到任何参数。

DSL job:

#!groovy

def file = readFileFromWorkspace('params.properties').trim()


job('app-adm') {
  label("adm")
  println("#" + file + "#")
  parameters{
    file 
  }
  steps 
  {
    shell(readFileFromWorkspace('script-adm.sh'))
  }
}

job('app-tst-mt')
{
  parameters 
  {
     booleanParam('FLAG', true)
  }
  steps 
  {
    shell(readFileFromWorkspace('script-tst-mt.sh'))
  }
}

params.properties:

choiceParam('OPTION', ['option 1 (default)', 'option 2', 'option 3'])

I've tried:

Nothing is working, through println inside job, I can clearly see that there is string that I want to put in parameters, but when doing so it dosen't register it and I don't get any params.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清泪尽 2025-01-18 09:49:49

好吧,答案是显而易见的,但如果有人遇到同样的问题,只需在 Jenkins 构建中的 DSL 工作之前先做一个 shell 工作即可。
在此 shell 作业中,您可以轻松修改工作区中的文件,因此将整个 dsl 作业(groovy 脚本)放在那里,只需用 sed 或 envsubst 替换部分文本即可。

Okey, the answer is stupidly obvious but if anybody has same problem just make a shell job previous to DSL job in Jenkins build.
In this shell job you can easily modify files in workspace, so place there a whole dsl job (groovy script), and just replace parts of text with sed or envsubst.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文