gitlab是山寨版的github,它是开源的,你可以在自己的服务器上架设gitlab,用于团队私有项目的托管。gitlab支持树莓派2嵌入式设备,下面记录了在树莓派2上安装与配置gitlab的过程。
增加swap空间
gitlab推荐2G内存,树莓派2只有1G内存空间,可以通过增加1G的swap空间来提升性能。
修改/etc/dphys-swapfile文件,然后重启树莓派sudo reboot。
CONF_SWAPSIZE=1024
查看swap空间大小
free -h
gitlab硬件配置与性能参考
安装
参考官方文档
配置
- 更改Web监听端口
在/etc/gitlab/gitlab.rb中添加下面选项,然后执行sudo gitlab-ctl reconfigure使配置生效。
nginx['listen_port'] = 8080
- 使用已安装的Nginx Web Server
参考官方文档
需要注意两点:
- 记得将Nginx Web Server运行账号添加到gitlab-www组中
sudo usermod -a -G gitlab-www www-data
- 配置完后,执行sudo gitlab-ctl reconfigure后,还要重启系统。不然查看进程,会发现如下错误
root 11485 0.0 0.0 1836 608 ? Ss Mar18 0:02 runsvdir -P /opt/gitlab/service log: …..runsv nginx: warning: unable to open supervise/stat.new: file does not exist runsv nginx: warning: unable to open supervise/stat.new: file does not exist runsv nginx: warning: unable to open supervise/pid.new: file does not exist runsv nginx: warning: unable to open log/supervise/pid.new: file does not exist runsv nginx: warning: unable to open log/supervise/pid.new: file does not exist
- 配置外部链接
参考官方文档。如果没有配置该选项的话,默认项目和资源文件的URL路径是相对于机器的主机名。
- 配置SMTP
默认安装完毕后,可以使用SendMail服务来发送邮件,但是发送的邮件没有发件人信息。配置SMTP后,我们可以让gitlab使用QQ、163等邮箱来发送邮件,还可以指定发件人信息以及回复邮箱账号等。
参考官方文档
下面是QQ企业邮箱的SMTP配置
smtp
gitlab_rails['gitlab_email_from'] = 'gitlab@pzxbc.com'
gitlab_rails['gitlab_email_reply_to'] = 'xxx@pzxbc.com'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "gitlab@pzxbc.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
- 更改git data目录
参考官方文档
- 设置git data目录挂载后再启动gitlab服务
参考官方文档
- 调整unicorn进程数,减少内存占用
参考官方文档1,2。在树莓派2上我将进程数调整为2个,暂时没有发现问题。
使用
使用root账号登陆后,点击右上角Admin Area可以查看gitlab状态以及对其进行各种设置,包括默认项目属性、用户可以创建的项目数等等。
修改默认可以创建的项目个数对已有的用户不生效,可以在Admin Area中的Users单独修改已经存在的用户信息。