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

Jenkins迁移后旧服务器用户与项目角色丢失的恢复方法咨询

恢复迁移后Jenkins的旧用户与角色权限

刚迁移完Jenkins却看不到旧用户和项目角色?别担心,结合你使用的Role-based Authorization Strategy插件,我给你梳理几个关键的恢复步骤:

  • 检查并同步用户存储目录
    Jenkins的内置用户信息都存在主目录下的users文件夹里——每个用户对应一个以其ID命名的子目录,里面的config.xml保存了用户密码、权限关联等核心数据。如果迁移时没同步这个文件夹,新服务器自然找不到旧用户。
    操作步骤:

    1. 从旧Jenkins服务器的主目录(Linux默认是/var/lib/jenkins,Windows通常是C:\Program Files\Jenkins或用户目录下的.jenkins)复制整个users文件夹。
    2. 将其粘贴到新服务器的Jenkins主目录下,若新服务器已有用户,建议先备份现有users文件夹再合并。
    3. Linux/macOS用户记得调整权限,确保Jenkins进程能读写:执行 chown -R jenkins:jenkins /var/lib/jenkins/users
    4. 重启Jenkins服务(可以用systemctl restart jenkins,或者在Jenkins后台的「Manage Jenkins」→「Restart Jenkins」操作)。
  • 同步Role-based Authorization Strategy的配置文件
    这个插件的全局角色、项目角色等配置单独存在role-strategy.xml文件中,就在Jenkins主目录下。没迁移这个文件的话,新服务器的权限策略还是默认状态,看不到旧角色。
    操作步骤:

    1. 从旧服务器复制role-strategy.xml到新服务器的Jenkins主目录,替换现有文件前记得先备份新服务器的原文件。
    2. 同样调整权限(Linux/macOS):chown jenkins:jenkins /var/lib/jenkins/role-strategy.xml
    3. 重启Jenkins后,进入「Manage Jenkins」→「Manage and Assign Roles」,就能看到之前配置的所有角色了。
  • 确认主配置文件的授权策略设置
    有时候迁移后,新服务器的config.xml里的授权策略可能被重置,需要确认是否正确启用了Role-based Authorization Strategy:

    1. 打开新服务器Jenkins主目录下的config.xml文件。
    2. 找到<authorizationStrategy>节点,确认内容是:
      <authorizationStrategy class="com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy"/>
      
    3. 如果不是,修改后保存,再重启Jenkins。
  • 外部认证用户的特殊处理
    如果你的旧用户是通过LDAP、Active Directory等外部系统认证的,那得在新服务器上完全复刻旧服务器的外部认证配置(路径:「Manage Jenkins」→「Configure Global Security」→「Security Realm」)。配置完成后,外部用户会自动同步,再结合之前的role-strategy.xml配置,就能恢复角色关联了。

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

火山引擎 最新活动