我如何在 2 个奴隶中执行 Jenkins 工作

How can i execute Jenkins job in 2 slaves

我有 jenkins master 和两个名为 slave1 和 slave2 的奴隶。我想在同一作业中在 slave1 上执行一些 shell 命令,在 slave2 上执行一些 shell 命令。我该怎么做...?

作为第 1 步,您需要在 jenkins 中创建一个多配置作业。在多配置作业中,您可以 运行 一个 运行 的两个或多个从站上的相同作业。

  1. 您需要使用配置矩阵下的 slaves 选项和列表中的 select slave 1 和 slave 2。
  2. 现在,您的作业 运行 中的一个 运行 全部在两个从属设备上执行 shell。
  3. 坚持下去是不是你想要的?现在你只是在两个奴隶上执行了同样的工作。
  4. 现在是您的下一个要求,即特定的 shells 应该在特定的从站上执行。

为此,您需要使用 if 条件并检查作业是否正在预期的从机上执行,如果是,则执行 shell,否则跳过执行。

  1. 现在如何判断我的作业是在哪个slave上执行的,可以使用jenkins预定义的环境变量NODE_NAME.

    [[ $NODE_NAME == slave1 ]] && 回显代码执行。

  2. 你可以写类似上面的东西来完成要求的事情。