Gitlab搭建教程详解
拟 制 人:
完成日期: 2017-05-11
审 核 人:
审核日期:
修改记录
名称 | 版本号 | 拟制人/ 修改人 | 拟制/修改日期 | 更改理由 | 主要更改内容 (写要点即可) |
Gitlab服务器搭建 | V1.0 | 2017.05.11 | 初稿 | 无 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
注1:每次更改Gitlab配置时,需填写此表。 注2:文件第一撰写时,“更改理由”、“主要更改内容”栏写“无”。 |
系统信息
l 操作系统版本
CentOS release 6.2 (Final)
Kernel \r on an \m
Linux localhost 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22
GMT 2011 x86_64 x86_64 x86_64 GNU/Linux
l 硬件信息
CPU:
model name : 2 Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz
cpu MHz : 2600.000
cache size : 15360 KB
cpuid level : 13
内存:
MemTotal : 8062088 kB
硬盘:
文件系统 容量 已用 可用 已用%% 挂载点
/dev/sda3 75G 15G 57G 22% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/sda1 194M 25M 160M 14% /boot
/dev/sdb1 197G 48G 140G 26% /work
网卡:
e1000 0000:02:00.0: eth0: (PCI:66MHz:32-bit) 00:0c:29:31:08:3c
e1000 0000:02:00.0: eth0: Intel(R) PRO/1000 Network Connection
e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
eth0: no IPv6 routers present
搭建Gitlab
l Gitlab版本
研发中心目前使用的版本为8.9.5
Rpm包名:gitlab-ce-8.9.5-ce.0.el6.x86_64.rpm
l 下载地址
外网:https://packages.gitlab.com/gitlab/gitlab-ce
Svn: https://192.168.49.250/svn/software/GIT/gitlab/rpm
l 安装依赖项
在 Centos 6 和 7 系统上,下面的命令将在系统防火墙里面开放HTTP和SSH端口, 请依次执行
sudo yum install curl openssh-server openssh-clients postfix cronie
sudo service postfix start
sudo chkconfig postfix on
sudo lokkit -s http -s ssh
l 安装rpm
cd 进入到gitlab-ce-8.9.5-ce.0.el6.x86_64.rpm所在目录,执行以下命令:
rpm -i gitlab-ce-8.9.5-ce.0.el6.x86_64.rpm
启动Gitlab
l 端口修改
vi /etc/gitlab/gitlab.rb
修改external_url 'http://192.168.x.x:8099'
修改nginx['listen_port'] = 8099
:wq保存退出
l 防火墙修改
vi /etc/sysconfig/iptables
添加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8099 -j ACCEPT
:wq保存退回
重启防火墙
service iptables restart
l 重新加载配置文件
sudo gitlab-ctl reconfigure
l 访问Gitlab
Gitlab使用
l New Group
使用Group把相同类型或者同一小组的Project联合起来管理,方便对人员进行权限控制及管理。
具体如下:
l New Project
在Gitlab中点击右上角 “+” 即可新建项目
Visibility Level:
Private: 只有授权才可以访问(默认选择此项)
Internal:内部人员可以访问(公用项目组可以选择此项)
Public: 匿名用户可以访问
Project选择Internal时Group必须设置为Internal或者Public。如果Group为Private,则Project必须为Private。
Internal项目不会像Private项目一样在首页直接显示,查看方法:
Group→Explore Group
l New User
新员工申请帐号及权限要走OA→SVN&Git申请工作流,默认帐号为邮箱前缀。
Can create group: 此项只有组长以上领导才勾选。
l 修改密码
首次登录gitlab必须强制进行密码修改。默认不少于8位。
Gitlab备份
Gitlab 将所有project打成tar包方式备份
l 备份命令
执行以下命令备份:
/opt/gitlab/bin/gitlab-rake gitlab:backup:create
l 备份目录
备份文件存放在以下目录:
/var/opt/gitlab/backups/1494486030_gitlab_backup.tar
l 定时备份
利用系统命令crontab 进行定时备份
执行crontab -e,输入以下内容
0 9-19/2 * * 1-5 /opt/gitlab/bin/gitlab-rake gitlab:backup:create
:wq保存退出
l 异机备份
1.利用rsync命令对备份目录进行同步,此任务只是把主服务器备份的tar包同步过来,执行以下定时任务命令(需要提前配置好rsync):
30 9-19/2 * * * rsync -vzrtopg --progress --delete --password-file=/etc/rsync_client.pass backup@192.168.6.102::gitlab /var/opt/gitlab/backups/
2.进行数据同步
5 10-22/2 * * * rsync -vzrtopg --progress --delete --password-file=/etc/rsync_client.pass backup@192.168.6.102::opt_gitlab /opt/gitlab
5 10-22/2 * * * rsync -vzrtopg --progress --delete --exclude backups/ --password-file=/etc/rsync_client.pass backup@192.168.6.102::var_opt_gitlab /var/opt/gitlab
Gitlab还原
l 停止相关服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
l 从某编号备份中恢复
eg: 从备份文件1494486030_gitlab_backup.tar中恢复,执行以下命令:
gitlab-rake gitlab:backup:restore BACKUP=1494486030
l 启动Gitlab
sudo gitlab-ctl start
l 注意事项
还原后会出现点击project出现500现象,若出现此现象请执行下面命令:
sudo gitlab-rails runner "Project.where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }"