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

使用ghe-migrator迁移BitBucket Server至GHES,如何映射不存在的用户?

使用ghe-migrator迁移时,BitBucket构建工具用户无法映射到集成AzureAD的GHES

我用ghe-migrator把代码仓库从BitBucket Server迁到GitHub Enterprise Server(GHES),遇到个问题:旧构建工具用的用户robo_buildtool,因为GHES集成了AzureAD身份认证,没法在新服务器上创建。试了用rename操作做用户映射,结果导入失败(提示无法创建用户),网上也没找到靠谱的解决办法。

当前的迁移映射表:

model_name,source_url,target_url,recommended_action,notes
user,https://bitbucket.internaldomain.com/users/gh_migrator,https://ghe.internaldomain.com/robo_server,map,
user,https://bitbucket.internaldomain.com/users/jbloggs,https://ghe.internaldomain.com/jbloggs,map,
user,https://bitbucket.internaldomain.com/users/robo_buildtool,,rename,Invalid value in url

我试过的用户导入配置:

user,https://bitbucket.internaldomain.com/users/robo_buildtool,https://ghe.internaldomain.com/robo_buildtool,map
user,https://bitbucket.internaldomain.com/users/robo_buildtool,https://ghe.internaldomain.com/robo_buildtool,rename,

解决办法参考

  • 映射到现有AzureAD服务账户
    既然没法新建用户,直接把robo_buildtool映射到GHES里已有的、权限足够的AzureAD服务账户就行。修改映射表:

    user,https://bitbucket.internaldomain.com/users/robo_buildtool,https://ghe.internaldomain.com/[你的服务账户名],map,映射到现有AzureAD服务账户
    

    记得确认目标账户有迁移需要的仓库权限(读写、管理员之类的)。

  • 用map操作替代rename,跳过用户创建
    GHES连AzureAD时,rename操作还是会尝试创建用户,但map可以直接关联现有身份。如果没合适的目标账户,就把这个构建工具用户的提交、权限映射到组织的机器人账户,迁移完再调整权限。

  • 提前修改BitBucket里的提交记录
    如果这个用户只用来提交代码,先在BitBucket Server里把它的所有提交批量改成现有用户(比如团队管理员),再迁移就不用处理这个无效用户了。

  • 检查迁移权限和AzureAD配置
    确保执行迁移的账户有GHES的site_admin权限;确认AzureAD允许服务账户通过迁移工具关联身份;要是GHES允许本地用户和AzureAD用户共存,能临时建个本地用户完成映射,之后再禁用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 15:56:18