![10013626412f284384082a2c50f67978.png](https://i-blog.csdnimg.cn/blog_migrate/e780d30bf7cb25eebe3c3addc2acc3cd.jpeg)
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架构的分支。
![e812d0627292ff7f49e6fc2b3d259b5c.png](https://i-blog.csdnimg.cn/blog_migrate/fc9002bbce66c18b359bfde453db9738.png)
所以这里给出先下载安装包,然后离线安装到Raspberry Pi上的方法。
开始安装
先安装一些必要的依赖包:
sudo apt-get install curl openssh-server ca-certificates postfix apt-transport-https
安装postfix时,会弹出一些设置,这是和发邮件相关的,如果不需要邮件功能,这里的设置并不重要。
![d0d903ad98190ce9963ee791c6213a18.png](https://i-blog.csdnimg.cn/blog_migrate/776d6aba979722f1374c6385e0c7d894.jpeg)
![491da981e5b4979b15713eedaefca43b.png](https://i-blog.csdnimg.cn/blog_migrate/cd0e3b74babf7ba8def474c87d8b4766.jpeg)
等待上述依赖包安装完成后,把之前下载的安装包gitlab-ce_8.13.0-ce.0_armhf.deb上传到Raspberry Pi的文件系统里。
正式安装deb包
sudo dpkg -i gitlab-ce_8.13.0-ce.0_armhf.deb
这个包有281MB,包含123034个文件,因此安装会有些慢,卡在下面这步是正常的,耐心等待一下。
![4e0c613b0d11b5f8a4c7679933a3ee81.png](https://i-blog.csdnimg.cn/blog_migrate/47d702cc2b530ccb0025466aa83ea529.png)
安装完成提示信息:
![8fe9f2a8830b60094e4504227bce6a7f.png](https://i-blog.csdnimg.cn/blog_migrate/9f4b43b65231c7001f814434a3ffcded.jpeg)
根据提示,需要运行:
sudo gitlab-ctl reconfigure
看到如下提示就配置完成了
![ebb5c3502d26da726123fe02875ea22d.png](https://i-blog.csdnimg.cn/blog_migrate/760bf472d93bd3a0a15df682330416ec.png)
初始设置
管理员用户是root
首次登录后会要求修改密码(8位及以上)
![851ac4b7f5eec3e0aeb999646c4efd17.png](https://i-blog.csdnimg.cn/blog_migrate/5696aad65a778e422d1f0362bb89555b.png)
在浏览器访问Raspberry Pi的IP,会跳转到设定密码的页面。
![782cd18c6944a8c7e4d43df6cb868789.png](https://i-blog.csdnimg.cn/blog_migrate/d84d01327feaf6589e05d861612a22ca.jpeg)
设定完成后,用新密码登录root用户。
![b8cecb4e6baaa0f86bc7bfbd10d5bec2.png](https://i-blog.csdnimg.cn/blog_migrate/cc76decdd3d7fca5ec2d9c5b27b9d124.png)
这是管理员用户,只用它来添加普通用户,在普通用户里新建仓库来托管代码。
点击界面右上角的小扳手图标,进入Admin Area,这是管理员独有的区域。
在user里新建一个普通用户。
注意初始的Projects limit只有10,只能创建10个projects。如果觉得不够用,可以放宽一点限制。
![d27e90b152b9b79554838f2fbf31760c.png](https://i-blog.csdnimg.cn/blog_migrate/53a0239edfe6504e43e19b886be13a97.png)
普通用户的密码会发送到邮箱,如果之前邮箱没配置好,可能会收不到,或者如果是内网使用,邮件也无法发出。这个问题可以这样解决:
![06a04ec29fdd59765ae8d9742f8deaca.png](https://i-blog.csdnimg.cn/blog_migrate/d8da63137a844772149e2732e7530879.png)
管理员里可以用管理权限修改这个用户的密码,改完后告诉该用户这个密码,该用户在首次登录后,会被提示设置一个新密码。
如果以后使用时该用户忘记了密码,管理员也可以登录Admin Area重置。
这样就不需要邮件来重置密码,缺点是需要管理员介入,对于中小团队这样的管理方法是可取的(可以由项目组织者充当管理员)。
另外在Admin Area界面右侧有个齿轮形状的图标,点击这里可以修改一些全局设定(包括前面初始的Projects limit等), 根据提示修改就行了。
![6d2534b3d85ea208653ad575ec636548.png](https://i-blog.csdnimg.cn/blog_migrate/30f41fa9f19b68427ad8f0a8074d8c74.jpeg)
修改服务端口
默认使用80端口,如果需要修改,可以修改/etc/gitlab/gitlab.rb中如下图的2处地方,比如这样就修改成了7000端口。
![4187b5ca08bd7480945be093b097c578.png](https://i-blog.csdnimg.cn/blog_migrate/b804cc6895e94be866d210cb9b583ecc.jpeg)
![aa831ec97abc0f326ec7a0c75557ec47.png](https://i-blog.csdnimg.cn/blog_migrate/46b6ae08510215a88362b839e9e3b4fd.jpeg)
两个地方都要修改。
注意保存文件后,要运行如下命令使得配置生效:
sudo gitlab-ctl reconfigure
![1f91e5efdf426dca37a3c0cf7b3da3a8.png](https://i-blog.csdnimg.cn/blog_migrate/787f4463e92e0343a407f2bb44f993a9.jpeg)
可以看到能使用7000端口访问了,Project path也是正确的。
一些实用的维护命令
#修改任何配置文件后都要输入如下命令使配置生效。
sudo gitlab-ctl reconfigure
#页面缓存清除:
sudo gitlab-rake cache:clear RAILS_ENV=production
#GitLab各组件启动:
sudo gitlab-ctl start
#GitLab各组件停止:
sudo gitlab-ctl stop
#GitLab各组件重启:
sudo gitlab-ctl restart
#禁用GitLab开机自启动:
sudo systemctl disable gitlab-runsvdir
#启用GitLab开机自启动:
sudo systemctl enable gitlab-runsvdir