目录:
1、gitlab简介
2、安装配置gitlab
2.1、实验环境介绍
2.2、更改仓库存储位置
2.3、开启https访问
2.4、启用SMTP服务
3、GitLab的基本使用
4、备份及恢复
5、总结
1、gitlab简介
GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。GitLab拥有强大的功能,可实现git仓库管理,代码审查,问题跟踪,WIkI等功能,而且配合GitLab CI能更简单的实现持续集成和自动部署。GitLab的组件主要包括:Packages / Dependencies,Ruby,Go,System Users,Database,Redis,GitLab,Nginx,详细信息请见()。
2、安装配置gitlab
GitLab不支持部署在Windows主机上,它只主机部署在Ubuntu、 Debian、CentOS、Raspberry PI这样的平台,而且只对64位的系统进行支持,如下图:
GitLab的部署方式有两种,一种是源代码方式部署,另一种是用通用包部署,官方称为 “Omnibus package installation”部署方式。源代码部署方式工作量大,且容易出错,官方强烈建议使用通用包的方式来部署。“Omnibus package installation”这种方式部署的GitLab会在有GitLab进程崩溃时会使用Runit来重启GitLab的进程,如果从源代码来安装GitLab,则没有Runit这种管理方式。所以建议大家还是以通用包的方式来部署。
2.1、实验环境介绍
平台:Debian 8.1 x64
IP地址:192.168.207.128
GitLab包:gitlab-ce_8.2.1-ce.0_amd64.deb 软件包下载地址:,请根据自己的平台选择下载,可惜在完成此博客时好像被墙了。
注意:在安装GitLab时请确保主机端口80没有被占用,在一次测试中因主机默认安装了nginx,并在开机时启动,导致当我部署好GitLab后访问首页时只出现nginx的欢迎页面,这个问题困扰了好久,后来才发现是主机默认已监听在了80端口。
root@test1:~/tools# pwd
/root/tools
root@test1:~/tools# ls
gitlab-ce_8.2.1-ce.0_amd64.deb
root@test1:~/tools# dpkg -i gitlab-ce_8.2.1-ce.0_amd64.deb
正在选中未选择的软件包 gitlab-ce。
(正在读取数据库 ... 系统当前共安装有 94237 个文件和目录。)
正准备解包 gitlab-ce_8.2.1-ce.0_amd64.deb ...
正在解包 gitlab-ce (8.2.1-ce.0) ...
正在设置 gitlab-ce (8.2.1-ce.0) ...
gitlab: Thank you for installing GitLab!
gitlab: To configure and start GitLab, RUN THE FOLLOWING COMMAND:
sudo gitlab-ctl reconfigure
gitlab: GitLab should be reachable at
gitlab: Otherwise configure GitLab for your system by editing /etc/gitlab/gitlab.rb file
gitlab: And running reconfigure again.
gitlab:
gitlab: For a comprehensive list of configuration options please see the Omnibus GitLab readme
gitlab: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
gitlab:
It looks like GitLab has not been configured yet; skipping the upgrade script.
这样GitLab的安装工作就结束了,在输出信息中可以看到有一个链接(https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md),这个链接很重要的,从这里可以获取到GitLab的所有配置的详细信息,有时间可以好好读读。
GitLab安装好后,可以查看一下它都把程序安装在哪里去了,用如下命令:
root@test1:~/tools# dpkg -L gitlab-ce | less
#输出信息相当多,请加上less分屏显示
2.2、更改仓库存储位置
默认时GitLab的仓库存储位置在“/var/opt/gitlab/git-data/repositories”,在实际生产环境中显然我们不会存储在这个位置,一般都会划分一个独立的分区来存储仓库的数据,我这里规划把数据存放在“/data/git-data”目录下。
root@test1:~/tools# mkdir -pv /data/git-data
mkdir: 已创建目录 "/data"
mkdir: 已创建目录 "/data/git-data"
root@test1:~# chown -R git.git /data/git-data #修改创建目录的属主和属组为git用户
root@test1:~/tools# cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak
root@test1:~/tools# vim /etc/gitlab/gitlab.rb
#启用git_data_dir参数,并修改如下:
git_data_dir "/data/git-data"
#并修改external_url的值修改为规划的访问域名
external_url 'http://test.gitlab.net'
root@test1:~/tools# gitlab-ctl reconfigure #重新编译gitlab.rb文件,使用做的修改生效
重新编辑后,GitLab在仓库目录会自动创建一个repositories文件,如下:
root@test1:~# ls -ld /data/git-data/repositories/
drwxrws--- 2 git git 4096 1月 4 14:15 /data/git-data/repositories/
在Windows主机的hosts里做好域名解析后访问我们的gitlab,如下图:
默认的用户为“root”,密码为“5iveL!fe”,为了安全第一次登陆时会要求你修改登陆密码,如下图:
到这里GitLab就基本可用了,但在企业中运用一般不会直接走http协议,都会用https这种安全协议来访问GitLab服务。
2.3、开启https访问