gpt4 book ai didi

Jenkinsfile 和多个节点

转载 作者:行者123 更新时间:2023-12-03 15:50:29 28 4
gpt4 key购买 nike

我有一些代码需要在不同的操作系统上运行(实际上是构建、测试和包,但例如只运行 tox )。目前我的 Jenkinsfile看起来像这样:

pipeline {

// Where to run stuff.
agent {
node {
label 'CentOS7'
customWorkspace '/home/build/jenkins/workspace/pipelines/ook'
}
}

// What to run goes here.
stages {
stage('Tox') {
steps {
sh 'tox -v --recreate'
}
}
}

// Clean up after ourselves.
post {
failure {
mail subject: "\u2639 ${env.JOB_NAME} (${env.BUILD_NUMBER}) has failed",
body: """Build ${env.BUILD_URL} is failing!
Somebody should do something about that\u2026""",
to: "devs@example.com",
replyTo: "devs@example.com",
from: 'jenkins@example.com'
}
}
}
}

中间位,我想在两个不同的 nodes 上运行: 一种用于 OS 1,一种用于 OS 2。

我怎么做?

最佳答案

当然,你会想以某种方式标记你的从节点。我没有查到什么是tox,但可能像'os_linux'和'os_mac',然后你可以使用node进入您的 Jenkinsfile 以在每个从站的上下文中运行一些命令。因此,您的 Tox 阶段可能如下所示:

stage('Tox') {
steps {
node('os_linux') {
sh 'tox -v --recreate'
}
node('os_mac') {
sh 'tox -v --recreate'
}
}
}

这将串行运行任务,Jenkinsfile 语法还支持在不同节点上并行执行这两个 tox 命令。使用 Jenkins UI 左侧导航中的“管道语法”链接(仅限管道作业)来玩 nodeparallel .摇滚吧。

关于Jenkinsfile 和多个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43764447/

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