我们如何添加参数以便用户在groovy脚本化管道中选择jenkins节点

问题描述 投票:0回答:1

我们有两个节点“Node1”和“Node2”。当前我们正在“Node1”上运行“mapping.groovy”作业,方法是在代码中提及节点名称,如下所示:

节点('节点1')

然后是管道。现在我们有了另一个节点“Node2”。我们还想在 Node2 上运行“mapping.groovy”作业。那么用户如何选择节点(Node1 或 Node2)来运行上述作业。 预先感谢,

我认为我可以在 Jenkins Build 的“使用参数构建”选项中使用“参数”选项。但我对此一无所知。

jenkins groovy jenkins-pipeline jenkins-groovy
1个回答
0
投票

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

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
的全部目的是将各个节点与作业需求相匹配,从而使作业能够自我分配,并实现作业执行的自动化,而不是由人工运行作业。当然,这一切都取决于您的具体情况,我不知道,但需要考虑。

© www.soinside.com 2019 - 2024. All rights reserved.