[原创] 一起玩树莓派3+使用Gitlab搭建专业Git服务

x1816   2016-11-5 20:52 楼主
image001.jpg
Gitlab是一个专业的Git解决方案,功能强大,和Github类似,而且其Community Edition (CE)是免费的,完全可以胜任为中小团队提供专业代码托管服务的工作,当然更重要的是它可以在Raspberry Pi上部署运行。
准备
项目首页:https://about.gitlab.com 下载页:https://packages.gitlab.com/gitlab/raspberry-pi2 下载地址(打开页面,点击右上角的Download按钮): https://packages.gitlab.com/gitlab/raspberry-pi2/packages/debian/jessie/gitlab-ce_8.13.0-ce.0_armhf.deb 下载得到gitlab-ce_8.13.0-ce.0_armhf.deb文件。 注意版本要选择jessie,也就是Debian 8,因为现在的Raspbian是基于它打造的。 官网给出了在线安装的方法,但是我试了几次,可能由于国内到Gitlab下载服务器之间的网络状况不好,很难在线安装成功。 国内的软件源即使有Gitlab的镜像,通常也没有支持Raspberry Pi架构的分支。
image003.png
所以这里给出先下载安装包,然后离线安装到Raspberry Pi上的方法。 开始安装 先安装一些必要的依赖包:
  1. sudo apt-get install curl openssh-server ca-certificates postfix apt-transport-https
安装postfix时,会弹出一些设置,这是和发邮件相关的,如果不需要邮件功能,这里的设置并不重要。
image005.png
image007.png
等待上述依赖包安装完成后,把之前下载的安装包gitlab-ce_8.13.0-ce.0_armhf.deb上传到Raspberry Pi的文件系统里。 正式安装deb包
  1. sudo dpkg -i gitlab-ce_8.13.0-ce.0_armhf.deb
这个包有281MB,包含123034个文件,因此安装会有些慢,卡在下面这步是正常的,耐心等待一下。
image009.png
安装完成提示信息:
image011.png
根据提示,需要运行:
  1. sudo gitlab-ctl reconfigure
看到如下提示就配置完成了
image013.png
初始设置 管理员用户是root 首次登录后会要求修改密码(8位及以上)
image015.png
在浏览器访问Raspberry Pi的IP,会跳转到设定密码的页面。
image017.png
设定完成后,用新密码登录root用户。
image019.png
这是管理员用户,只用它来添加普通用户,在普通用户里新建仓库来托管代码。 点击界面右上角的小扳手图标,进入Admin Area,这是管理员独有的区域。 在user里新建一个普通用户 注意初始的Projects limit只有10,只能创建10个projects。如果觉得不够用,可以放宽一点限制。
image021.png
普通用户的密码会发送到邮箱,如果之前邮箱没配置好,可能会收不到,或者如果是内网使用,邮件也无法发出。这个问题可以这样解决:
image023.png
管理员里可以用管理权限修改这个用户的密码,改完后告诉该用户这个密码,该用户在首次登录后,会被提示设置一个新密码。 如果以后使用时该用户忘记了密码,管理员也可以登录Admin Area重置。 这样就不需要邮件来重置密码,缺点是需要管理员介入,对于中小团队这样的管理方法是可取的(可以由项目组织者充当管理员)。 另外在Admin Area界面右侧有个齿轮形状的图标,点击这里可以修改一些全局设定(包括前面初始的Projects limit等), 根据提示修改就行了。
image025.png
修改服务端口 默认使用80端口,如果需要修改,可以修改/etc/gitlab/gitlab.rb中如下图的2处地方,比如这样就修改成了7000端口。
image027.png
image029.png
两个地方都要修改。 注意保存文件后,要运行如下命令使得配置生效:
  1. sudo gitlab-ctl reconfigure
image031.png
可以看到能使用7000端口访问了,Project path也是正确的。 一些实用的维护命令 修改任何配置文件后都要输入如下命令使配置生效。
  1. sudo gitlab-ctl reconfigure
页面缓存清除:
  1. sudo gitlab-rake cache:clear RAILS_ENV=production
Gitlab各组件启动:
  1. sudo gitlab-ctl start
Gitlab各组件停止:
  1. sudo gitlab-ctl stop
Gitlab各组件重启:
  1. sudo gitlab-ctl restart
禁用Gitlab开机自启动:
  1. sudo systemctl disable gitlab-runsvdir
启用Gitlab开机自启动:
  1. sudo systemctl enable gitlab-runsvdir
本帖最后由 x1816 于 2016-11-5 20:52 编辑

回复评论 (4)

Gitlab组件比较多,系统复杂,最麻烦的就是安装了,如果不清楚内容就瞎折腾,很容易出问题。按上面的步骤,就可以把Gitlab正确装好。使用方面和Github非常相似,可以看做一个私有服务器版的Github,只要按照页面提示操作就可以了,如果遇到问题,可以看gitlab的帮助文件,也可以参考github的相关资料。

关于和gogs的比较,这两套系统基本功能类似,但是细节不一样。好在这两套系统可以装到同一个Raspberry Pi上,而且可以同时运行(只要端口不冲突,所以教程里写了怎么修改端口),想知道具体细节哪些地方不同,小伙伴们可以装好了自己体验几次就知道了。
点赞  2016-11-5 21:00
有网页版的管理方式很棒。不知道Git可以通过网页管理吗,
点赞  2016-11-6 13:58
引用: michael_llh 发表于 2016-11-6 13:58
有网页版的管理方式很棒。不知道Git可以通过网页管理吗,

纯git是命令行工具,不过一般都可以配合网页管理使用的~
点赞  2016-11-6 18:50
引用: x1816 发表于 2016-11-6 18:50
纯git是命令行工具,不过一般都可以配合网页管理使用的~

恩,Gitlab确实不错,是一个很好的管理方式
点赞  2016-11-6 19:54
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复