Jenkins升级至2.307+版本后提示缺失节点标签master的问题问询
报错根因
Jenkins 2.307版本执行了官方术语变更规则,原默认的master内置节点正式更名为Built-In Node,默认取消了master标签配置,因此Jenkinsfile中显式指定node('master')时,调度器无法找到匹配标签的节点,就会抛出对应报错。
解决方案
方案1:修改Jenkinsfile适配新命名规则(推荐长期使用)
直接修改节点指定语句,有两种可选写法:
- 替换为内置节点的默认新标签
built-in,修改后代码如下:
node('built-in') { dir('build') { stage('Checkout') { ... } } }
- 如果你不需要限制任务必须跑在指定节点,也可以直接留空node参数,Jenkins会默认调度到可用的内置节点:
node() { dir('build') { stage('Checkout') { ... } } }
方案2:给内置节点补加master标签(临时兼容方案)
如果存量Jenkinsfile数量太多暂时无法批量修改,可以手动给内置节点加回master标签,操作步骤如下:
- 进入Jenkins主页 → 点击「管理Jenkins」→ 进入「节点管理」页面
- 找到
Built-In Node进入配置页 - 在标签输入框中追加
master,保存配置后存量任务无需修改即可正常运行
方案3:添加启动参数强制保留旧命名
也可以通过修改Jenkins启动参数,强制内置节点沿用原来的master命名,启动时添加如下参数即可:-Djenkins.agents.masterName=master
重启Jenkins后就会恢复旧的节点命名和标签配置。
注意:官方推出该术语变更为行业通用规范调整,长期使用建议优先选择方案1适配新命名,避免后续版本升级再次出现兼容问题。
内容的提问来源于stack exchange,提问作者Sharp
相关产品推荐
相关产品推荐

