如何在2个不同的执行器上并行运行单个作业?

时间:2019-09-23 09:26:57

标签: docker jenkins jenkins-pipeline devops

我配置了一个Jenkins作业,并在Jenkins中配置了2个不同的构建执行程序。我需要在这两个执行器上运行一个作业。有人可以帮助我如何进行此操作吗?预先感谢。

2 个答案:

答案 0 :(得分:0)

此解决方案仅适用于脚本化管道(可能也适用于声明式管道)

def pipeline = {
    //your complete pipeline code here
}

node('one'){
    pipeline()
}

node('two'){
    pipeline()
}

这不是完美的,但是我能想到的DRYest解决方案。

答案 1 :(得分:0)

此解决方案还可以在脚本化管道中使用。

stage('Deploy') {
   parallel {

   stage('ECS node-1 Deploy') {    
   steps {    
       sh label: 'node-1 Deploy',
       script: """
               set +x;
               if [ "${params.node-1}" = true ] ; then
                    /usr/local/jenkins-scripts/ecs_deploy.sh node-1-service ${cluster_name}
                fi 
               """
       }
       }

   stage('ECS node-2 Deploy') {    
   steps {    
       sh label: 'node-2 Deploy',
       script: """
               set +x;
               if [ "${params.node-2}" = true ] ; then
                    /usr/local/jenkins-scripts/ecs_deploy.sh node-2-service ${cluster_name}
                fi 
               """
       }
      }
     }