You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除Jenkins中自动创建的无法手动删除的用户?

Jenkins 2.426.3批量删除自动生成Git用户的可行方案

一、批量删除:用Groovy脚本控制台(最高效)

Jenkins内置的脚本控制台可直接调用用户管理API,批量清理这类自动生成的用户:

  1. 进入Jenkins后台,路径:Manage Jenkins -> Script Console
  2. 执行以下Groovy脚本(根据你的用户特征调整匹配规则):
def userManager = Jenkins.instance.getUserManager()
// 自定义匹配规则:筛选名字/邮箱符合Git提交者特征的用户
def targetUsers = userManager.getAllUsers().findAll { user ->
    // 示例:匹配邮箱为Git仓库提交者格式,或用户名是提交者ID
    user.emailAddress ==~ /.*@your-git-repo-domain.com/ || user.id.matches(/^[a-z0-9-]+$/)
}

targetUsers.each { user ->
    println "正在删除用户:${user.id}(${user.fullName})"
    userManager.delete(user)
}
println "完成,共删除${targetUsers.size()}个用户"

注意:执行前务必调整findAll内的匹配条件,确保只删除目标用户,避免误删正常账号。

二、手动删除(针对少量用户)

若提示无法删除,通常是用户被关联了权限或构建记录,需先解除关联再操作:

  • 进入用户详情页:Manage Jenkins -> Manage Users -> 点击目标用户
  • 移除所有权限:切换到「权限」标签,删除该用户的所有权限配置
  • 清理关联构建:若用户是部分构建的执行者,可通过Manage Jenkins -> Manage Old Builds清理旧构建记录,或用脚本解除关联
  • 回到用户列表,尝试删除用户

三、阻止后续自动创建

除Git插件的选项外,检查以下配置避免再生成这类用户:

  • 全局安全配置:Manage Jenkins -> Configure Global Security,确认未开启「自动创建用户」或「允许任何人注册」
  • 其他SCM插件:检查GitHub、GitLab等插件设置,关闭自动创建用户的相关选项
  • Pipeline脚本:排查流水线代码中是否存在自动创建用户的逻辑

内容的提问来源于stack exchange,提问作者CCLee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 03:34:52