我们如何在groovy scripted pipeline中添加一个参数来让用户选择jenkins节点

zxlwwiss  于 7个月前  发布在  Jenkins
关注(0)|答案(1)|浏览(55)

我们有两个节点“Node1”和“Node2”。目前我们正在“Node1”上运行'mapping.groovy'作业,方法是在代码中提到节点名称,如下所示:
node('Node1')
然后是流水线。现在我们有了另一个节点“Node2”。我们还想在Node2上运行'mapping.groovy'作业。那么,用户如何选择节点(Node1或Node2)来运行上述作业呢?提前感谢,
我想我可以使用“参数”选项中的“用参数构建”选项Jenkins Build。但我不知道这个。

ggazkfy8

ggazkfy81#

你想参数化你的构建。这看起来像下面这样:

pipeline {
   agent any

   parameters {
      choice(
           name: 'NODE_NAME', 
           choices: ['Node1', 'Node2']
           description: 'The name of the node you want to run the job on.'
      )
   }
}

这将强制启动作业的任何人选择您希望他们使用的节点。
但是,由于我们正在讨论节点选择,您可以考虑如何使用上面的agent命令让该作业选择节点本身。agent的全部目的是将各种节点与作业需求相匹配,使作业能够自我分配,并使作业执行自动化,而不是有人手动运行作业。当然,这一切都取决于你的具体情况,我不知道,但要考虑的东西。

相关问题