美文网首页程序员
Gitlab安装配置及旧git项目的导入

Gitlab安装配置及旧git项目的导入

作者: voxer | 来源:发表于2018-07-09 10:59 被阅读184次

一直用Gitblit,最近要迁移到Gitlab上,记录一下安装和迁移的过程。

1. Gitlab安装

在CentOS上安装完全按照Gitlab的官网安装步骤 基本没有问题,最后一步

sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee

可以先不用考虑EXTERNAL_URL,这个后面通过修改/etc/gitlab/gitlab.rb来设置。

2. Gitlab配置

80被占用了,这里先改成8888端口,修改/etc/gitlab/gitlab.rb来设置

external_url 'http://外网ip:8888'

修改完需要重启配置(这个重启要很久)

gitlab-ctl reconfigure

重启服务

gitlab-ctl restart

3. Gitlab管理

我需要实现的目标是

  1. 因为是内部团队使用,所以取消注册功能


    image.png
  2. 新用户缺省不允许创建Project


    image.png
  3. API创建用户,
    可能需要创建的用户比较多,同时需要取消邮件确认和创建group权限。可以考虑通过API来创建,命令如下:

//如果在win10的powershell下运行,需要先运行这句
Remove-item alias:curl
curl --header "PRIVATE-TOKEN: XtgossbudeEerKMbhy" --data "password=badfe@12312&email=xxx@qq.com&username=cengh&name=%E7%8E%8B%E8%80%81%E4%BA%8C&can_create_group=false&skip_confirmation=true" "http://外网ip:8888/api/v4/users"
  • PRIVATE-TOKEN参数是指有权限创建用户的管理员账号的一个token,在自己的账号setting上能创建和获取到。


    image.png
  • password最好复杂一下,不能太简单。否则会有错误
  • name如果是中文,需要转码,否则也有错误


    image.png
  • can_create_group=false:表示禁止创建组
  • skip_confirmation=true:表示跳过邮件确认

更多参数可以参考Gitlab的API文档

4. 导出旧项目然后导入到Gitlab

如果只把源码导出再导入,那么所有分支包括分支的所有历史记录都没有了。可以通过以下命令来实现把项目respository完全镜像clone下来,包括所有分支和记录。

git clone --bare git://github.com/username/project.git

下载下来的目录不是源代码,而是类似以下的目录结构:


image.png

最后在gitlbab上先创建一个新的respository,然后命令行进入到以上的目录下,执行git push命令把旧的镜像推送到新的gitlab上的respository里。

cd project.git
git push --mirror git@你的gitlab的ip/newproject.git

相关文章

网友评论

    本文标题:Gitlab安装配置及旧git项目的导入

    本文链接:https://www.haomeiwen.com/subject/ocqzuftx.html