gpt4 book ai didi

Jenkins Declarative Pipeline——基于git分支动态选择节点(代理)

转载 作者:行者123 更新时间:2023-12-04 17:50:42 26 4
gpt4 key购买 nike

我有一个 Jenkins 主节点和从节点池,它们可以动态增长和收缩(基于负载)。主节点称为“master”,从属节点具有 guids 名称。目前所有节点都没有标签。

对于我的项目,我希望来自 github 的“开发”分支在主节点上构建,并拉取请求分支在任何一个从属节点上构建。这已在使用 node('master') 和 node('!master') 的脚本管道中成功运行。

我想开始使用新的声明式管道。目前是否可以根据分支名称在声明式管道中实现相同的“主”和“非主”行为?

在脚本管道中,它看起来像这样:

def selectedNode = BRANCH_NAME == 'develop' ? 'master' : '!master'

node(selectedNode) {
}

谢谢

最佳答案

如果它在脚本中工作,您通常可以在声明性管道的 script 步骤中包含完全相同的内容。这适合我:

pipeline {
agent { label 'docker' }
stages {
stage('build') {
steps {
script {
def selectedNode = BRANCH_NAME == 'develop' ? 'master' : '!master'

node(selectedNode) {
}
}
}
}
}
}

我可能会走这条路,而不是对顶级 agent 声明感到困惑。

关于Jenkins Declarative Pipeline——基于git分支动态选择节点(代理),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45220631/

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