T c*_*ode 2 jenkins jenkins-pipeline
我有以下多分支管道体系结构的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'
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试图在Ubuntu和Red Hat节点上并行运行“ Build”阶段,并且仅在Ubuntu节点上运行“ Test”阶段。
谁能帮助我指定如何选择在哪个节点上运行哪个阶段。我在网上找不到很少的解决方案,但他们建议重写构建阶段两次:一次用于Red Hat节点,另一个用于Ubuntu节点。没有代码重复,没有办法做到这一点吗?
非常感谢你
小智 6
当然,您希望以某种方式标记您的从属节点。基本上在Jenkins上配置所有节点,并为其赋予有意义的名称。
stage('Build') {
steps {
node('os_linux') {
sh './build.sh'
}
node('os_redhat') {
sh './build.sh'
}
}
Run Code Online (Sandbox Code Playgroud)
这将以串行方式运行任务,并且Jenkinsfile语法还支持在不同节点上并行执行命令。
谢谢,
| 归档时间: |
|
| 查看次数: |
3443 次 |
| 最近记录: |