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


 

转载于:https://www.cnblogs.com/blaketairan/p/7136733.html

你可能感兴趣的:(gitlab仓库迁移)