gpt4 book ai didi

jenkins - 在不同节点上运行 Jenkins stage

转载 作者:行者123 更新时间:2023-12-02 17:21:30 25 4
gpt4 key购买 nike

我有以下多分支管道架构的 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 节点上并行运行“构建”阶段,并仅在 Ubuntu 节点上运行“测试”阶段。

任何人都可以帮助我指定如何选择在哪些节点上运行哪个阶段。我在网上找到了一些解决方案,但他们建议重写构建阶段两次:一次针对 Red Hat 节点,另一次针对 Ubuntu 节点。有没有办法在不重复代码的情况下做到这一点?

非常感谢

最佳答案

当然,您可能希望以某种方式标记您的从属节点。基本上配置 Jenkins 上的所有节点并给它们指定有意义的名称。

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

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

谢谢

关于jenkins - 在不同节点上运行 Jenkins stage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48284128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com