当前位置:  开发笔记 > 运维 > 正文

在不同节点上运行Jenkins阶段

如何解决《在不同节点上运行Jenkins阶段》经验,为你挑选了1个好方法。

我有以下多分支管道体系结构的Jenkinsfile

#!/usr/bin/groovy

pipeline {
    agent {
        node {
            label 'ubuntu'
            customWorkspace "/src/$BUILD_NUMBER"
        }
    }
    environment {
        SRC_DIR = "$WORKSPACE"
        BUILD_DIR="/build/$BUILD_NUMBER"
    }

    stages {
        stage('Build') {
            steps {
                dir(BUILD_DIR) {
                    sh '$SRC_DIR/build.sh'
                }
            }
        }

        stage('Test') {
            steps {
                dir(BUILD_DIR) {
                   sh '$SRC_DIR/test.sh'
                }
            }
        }
    }
}

我试图在Ubuntu和Red Hat节点上并行运行“ Build”阶段,并且仅在Ubuntu节点上运行“ Test”阶段。

谁能帮助我指定如何选择在哪个节点上运行哪个阶段。我在网上找不到很少的解决方案,但他们建议重写构建阶段两次:一次用于Red Hat节点,另一个用于Ubuntu节点。没有代码重复,没有办法做到这一点吗?

非常感谢你



1> 小智..:

当然,您希望以某种方式标记您的从属节点。基本上在Jenkins上配置所有节点,并为其赋予有意义的名称。

  stage('Build') {
   steps {
     node('os_linux') {
       sh './build.sh' 
     }
     node('os_redhat') {
       sh './build.sh' 
   }
  }

这将以串行方式运行任务,并且Jenkinsfile语法还支持在不同节点上并行执行命令。

谢谢,

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有