You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

求助:如何彻底禁用Jenkins所有任务的Replay功能?

彻底禁用Jenkins流水线Replay功能的方法

1. 通过全局权限控制禁用Replay

  • 进入Jenkins 系统管理全局安全配置
  • 权限矩阵(或项目矩阵授权策略)中,找到Run/Replay权限,确保所有用户组(包括authenticated)都取消勾选该权限
  • 若使用基于角色的权限控制插件(Role-Based Access Control),需在角色配置中移除对应角色的Run/Replay权限

2. 禁用Replay核心插件(极端场景)

如果权限控制仍无法生效,可直接禁用提供Replay功能的基础插件:

  • 进入Jenkins 系统管理插件管理已安装
  • 找到Pipeline: Groovy插件(Replay功能由该插件提供),点击禁用并重启Jenkins
  • 注意:禁用该插件会影响所有Groovy流水线的正常运行,需确认业务无依赖后操作

3. 流水线脚本层面隐藏Replay入口

若不想禁用插件,可在所有流水线的Jenkinsfile开头添加以下代码,强制移除Replay操作按钮:

// 移除当前构建的Replay动作
currentBuild.getActions().removeAll { action ->
    action.getClass().getName().contains("ReplayAction")
}
  • 需确保所有项目的Jenkinsfile都添加这段逻辑,才能全局生效

4. 修改Jenkins全局配置文件(高级操作)

直接修改Jenkins核心配置文件锁定权限:

  • 找到Jenkins安装目录下的config.xml文件
  • <authorizationStrategy>节点内,删除所有包含hudson.model.Run.Replay的权限配置项
  • 修改完成后重启Jenkins,配置即可生效

内容的提问来源于stack exchange,提问作者Aaron D. Vail

火山引擎 最新活动