lfjigu 发表于 2018-1-11 15:14:28

gitlab仓库迁移

  遇到一个情况,需要将两个gitlab仓库合并。好在都是使用的ldap账户登陆,用户账户不需要迁移。
  实际的使用情况下,需要迁移的主要部分为分组及分组下项目。gitlab的api还是很给力的,能够获取所有这些信息,并利用这些信息进行新建。
  获取信息使用GET方法,修改信息使用PUT方法,新建使用POST。
  GITLAB_API_URL = "GITLAB_URL/api/v3"
  GET_ALL_GROUPS_URL = "/groups"
  GET_ALL_MEMBERS_URL = "/groups/%s/members"
  GET_ALL_PROJECTS_URL = "/groups/%s"
  CREATE_GROUP_URL = "/groups"
  ADD_MEMBER_URL = "/groups/%s/members"
  使用api的时候需要在header带上管理员token
  PRIVATE-TOKEN:xxxxxxxxx
  首先通过api迁移分组,分组成员及权限。然后迁移项目。
  迁移项目在获取项目url之后,使用命令:
  git clone --bare $OLD_URL
  cd $workspace
  git push --mirror $NEW_URL
  即可完成项目迁移
  gitlab api 官方文档:https://docs.gitlab.com/ee/api/README.html#gitlab-api
页: [1]
查看完整版本: gitlab仓库迁移