繁体   English   中英

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

[英]Execute a job when node connect itself to Jenkins

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

问题是,当 Node1 连接自身时,作业在节点 1 上触发,但是当 Node2 连接到服务器时,作业在 Node1 上再次触发......

你能帮我么? 我为我的节点使用 java 客户端和一个名为“Julien”的标签

https://imgur.com/a/qnIX5Oo

谢谢

这个问题现在已经很老了,但我遇到了同样的问题,想分享我的设置来解决它。

如上所述,我使用启动触发器插件,但默认情况下,它使用任何可用节点来完成这项工作。 为了让新连接的节点运行作业,我必须:

  • 选中“此项目已参数化”
  • 添加一个“名称”设置为“LAST_STARTED_NODE”的“节点”参数(它可以是其他任何东西)
  • 选中“在作业节点启动时构建”
  • 在“Advanced”中,将“Node parameter name”设置为“LAST_STARTED_NODE”(同上)

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

您好,您可以使用启动触发器插件,它将在节点和主节点启动时触发作业。 您还可以限制带有标签的节点以触发作业。

另请参阅链接以获取更多信息。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM