【问题标题】:How to execute single hudson job on multiple platforms with different parameters如何在具有不同参数的多个平台上执行单个 hudson 作业
【发布时间】:2023-03-12 01:10:02
【问题描述】:

我有一个 hudson 作业,我想在多台机器上执行单个 hudson 作业,现在我要知道我可以通过将我的 hudson 作业创建为“多配置作业”来做到这一点,所以现在使用单个 hudson工作能够同时在多个平台上触发它。现在,我确实有另一个要求,我想在多个平台上触发单个 hudson 作业,每个平台具有不同的参数,参数就像用户名、密码......我想为不同的平台设置不同的值。请让我知道是否有人有适当的解决方案?

【问题讨论】:

    标签: jenkins continuous-integration hudson jenkins-plugins hudson-plugins


    【解决方案1】:

    也许最好的解决方案是将多个从属连接到您的 Jenkins 主服务器(Linux、Solaris、Windows..),然后您可以轻松地在不同平台上设置作业, Windows奴隶的好文章https://wiki.jenkins-ci.org/display/JENKINS/Step+by+step+guide+to+set+up+master+and+slave+machines

    对于 linux 来说非常简单,只有你真正需要的是从站的 ssh 参数,仅此而已,之后你可以充分发挥 Jenkins 的潜力

    问候

    【讨论】:

      【解决方案2】:

      要在多个平台上执行,您需要在这些平台上拥有多个从站,正如 klerk 已经提到的那样。

      NodeLabel Parameter 插件允许选择在哪个节点上运行作业。它甚至允许一次选择多个节点,并且会在多个节点上同时触发作业(如果作业配置允许并发构建)。

      【讨论】:

      • 我想在多个平台上运行单个 hudson 作业 - 我可以通过在不同平台上设置多个从站并将它们全部链接到单个 hudson 作业来做到这一点,但我的要求是将所有从站链接到单个作业,我希望每个从站使用不同的参数运行。只是想了解如何在单个 hudson 作业下为每个从站提供不同的参数?
      • 可以配置job参数:选择param_A,输入value_1,在Windows slave上执行;再次单击构建,选择 param_A,键入 value_2,在 Linux 从站上执行... 什么问题?或者您是否试图以某种方式一次自动完成所有操作?这不是原始问题的一部分。
      【解决方案3】:

      我的解决方案是编写一个脚本作为单个主作业,通过使用 curl.exe 或任何其他 HTTP 客户端发送 POST 请求来启动各种作业。

      假设您有一个带有 2 个参数的工作作业,您可以在脚本中执行的操作是:

      curl.exe -v -X POST --show-error 'http://yourJobURL?ParamName1=ParamValue1&ParamName2=ParamValue2
      

      worker 作业需要将执行并发作业设置为 true 才能并行运行多个作业。如果您想在所有作业完成后做某事,您可以在主脚本中编写一个循环,轮询所有作业的状态。

      【讨论】:

        【解决方案4】:

        尝试构建流程插件

        示例:

         build("job", "parameters")
        

        使用第一个创建一个额外的参数来传递您的节点名称。 通过使用此插件,您可以使用不同的节点执行相同的作业。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-11-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-30
          相关资源
          最近更新 更多