【问题标题】:How to run same jenkins job on multiple machines parallelly如何在多台机器上并行运行相同的詹金斯作业
【发布时间】:2017-12-02 01:57:54
【问题描述】:

我有两台构建机器设置为相同代码的 32 位版本和 64 位版本。 由于代码相同,只是参数值不同。

我已经为编译和参数创建了一个作业来判断是 32 位还是 64 位。

如何在两个节点上同时运行同一个作业?

已经有一个帖子:How to run the same job multiple times in parallel with Jenkins?

但它指的是同一作业在同一台机器上运行多次。

但我的是在不同的机器上运行多次。

【问题讨论】:

    标签: jenkins parallel-processing jobs


    【解决方案1】:

    在作业配置中单击复选框“限制项目应运行的位置” 并提及从节点: 参考:http://www.infobeans.com/opensourceblog/miscellaneous/jenkins-master-slave-configuration/ 文档底部解释了它

    【讨论】:

    • 对不起,我想为同一个作业配置多个节点以并行运行。我可以配置单个节点。
    【解决方案2】:

    如果您使用的是 Pipeline,您可以将 Label 添加到您的代理中,作为 32 位和 64 位。

    在您的管道声明中,将其添加到节点定义中:

    parallel(
            [
             "Build with 32bits": { node("32bits") { ... } },
             "Build with 64bits": { node("64bits") { ... } }
            ]
    )
    

    【讨论】:

      【解决方案3】:

      一种方法是使用詹金斯管道和并行构造。 例如:

      pipeline {
      agent none
      stages {
          stage('Run Builds in parallel') {
              parallel {
                  stage('Build On Windows') {
                      agent {
                          label "windows"
                      }
                      steps {
                          bat '''
                          echo running on windows
                          '''
                      }
                  }
                  stage('Build On Linux') {
                      agent {
                          label "linux"
                      }
                      steps {
                          sh "echo Hello"
                      }
                  }
              }
          }
      }
      

      }

      您可以调用构建而不是步骤。

      【讨论】:

      • @user2331760 你试过这个吗?或者您需要进一步的帮助吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多