当节点将自身连接到Jenkins时执行作业

时间:2018-12-17 20:39:08

标签: jenkins jenkins-plugins

我有一个Jenkins服务器和两个节点。 我想在节点首次连接到Jenkins服务器时在其上执行基本的ip a命令。

问题在于,当Node1连接自身时,作业将在Node 1 BUT上触发 当Node2连接到服务器时,作业将在Node1上再次触发

你能帮我吗? 我将Java客户端用于节点,并使用名为“ Julien”的标签

https://imgur.com/a/qnIX5Oo

谢谢

2 个答案:

答案 0 :(得分:0)

嗨,您可以使用startup trigger plugin,它将在启动节点和主节点时触发作业。您还可以限制带有标签的节点来触发作业。

另请参见this链接。

我不知道如何选择要执行命令的节点,但是您可以创建另一个管道作业并编写管道脚本,例如

pipeline {
    agent {label "${Node parameter name}"}
    stages {
        stage("some stage"){
          steps{
           bat "your command"
         }
      }
    }
}

答案 1 :(得分:0)

现在的问题是很老了,但我面临着同样的问题,并希望分享我的设置来解决这个问题。

我使用 startup trigger plugin,如上所述,但默认情况下,它使用任何可用节点来完成这项工作。 为了使新连接的节点运行作业,我不得不:

  • 勾选“此项目已参数化”
  • 添加一个“节点”参数与“名称”设置为“LAST_STARTED_NODE”(也可以是其他任何东西)
  • 检查 “时所建的工作节点开始”
  • 在 “高级”,设定 “节点参数名称” 为 “LAST_STARTED_NODE”(同上)

使用此配置,作业将在预期的新节点上运行。