如何解决在两个不同的 Jenkinsfile/Groovys 脚本中使用相同的代理
我的 repo 中有 1 个 pipleine 脚本和 1 个 declarative pipleine。当我运行 File1 时,它将随机分配一个代理并执行此操作并执行 file2 (JenkinsfileTest)。问题是我不希望为我的构建分配一个新代理。相反,我想继续使用我之前指定的代理。
我正在寻找的是忽略 file2 的代理而不修改它并使用 file1 中指定的代理。因为在我们的项目中有 100 或 1000 个 Jenkinsfiles,手动更改所有文件 + 逐个测试并不是最佳选择
一种可能的解决方案是使用正则表达式修改 file2 并将 agent 的值更改为“none”。但这不是最佳的
File1 是一个管道脚本,看起来像这样:
node {
stage('Checkout') {
checkout([
$class: 'GitSCM',// branches: [[name: "$GERRIT_PATCHSET_REVISION"]],doGenerateSubmoduleConfigurations: false,extensions: [[$class: 'CleanCheckout']],submoduleCfg: [],userRemoteConfigs: [[
credentialsId: 'gerrit-username-password',name: "",// refspec: "$GERRIT_REFSPEC",url: 'my gerrit link'
]]
])
withEnv(['BASE_WORKSPACE=${env.WORKSPACE}']) {
echo "base workspace: ${env.WORKSPACE}"
sh "pwd"
sh "ls"
load 'JenkinsfileTest'
}
}
}
File2 是减速管道,如下所示:
pipeline {
options {
timeout(time: params.TIMEOUT,unit: 'MINUTES')
}
agent {
label "something"
}
stages {
stage('Test') {
steps {
echo "test"
}
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。