这篇博客主要讲一下Gitlab如何进行快速搭建
安装前期
安装最快并且方便的安装就是使用yum原来进行安装,在安装Gitlab前的准备就是对yum源进行配置。
Gitlab的yum源有官网也有其他的,这里我用的是清华大学的源。如下操作:
vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
yum clean all
yum makecache
# 安装
yum install gitlab-ce -y
配置Gitlab和启动
安装完成后就可以进行启动了:
gitlab-ctl reconfigure # 我在启动这个里时候一直报错,因为硬件配置过低,官方建议内存4G.
gitlab-ctl start
Gitlab服务的配置文件在 /etc/gitlab/gitlab.rb。
具体的配置参考官网,这里仅仅列出如何配置邮件。
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.exmail.qq.com" gitlab_rails['smtp_port'] = 465 #鉴于阿里云25端口被封,使用465端口 gitlab_rails['smtp_user_name'] = "邮箱" gitlab_rails['smtp_password'] = "邮箱密码" gitlab_rails['smtp_domain'] = "qq.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true #使用465端口的话,需要加这个配置 ##修改gitlab配置的发信人 gitlab_rails['gitlab_email_from'] = "邮箱" user["git_user_email"] = "邮箱"
重新配置Gitlab并启动:
gitlab-ctl reconfigure
gitlab-ctl restart
访问Gitlab
gitlab的默认配置文件在 /etc/gitlab/gitlab.rb, 修改该文件 nginx['listen_port']=8090
http://IP:8090
Gitlab 备份
Gitlab 安装
安装和配置必要的依赖环境
# 环境依赖
yum install curl openssh-server postfix
yum install postfix
service postfix start
chkconfig postfix on
# 必要的配置根据个人情况而定。
添加gitlab yum源
# 安装官方yum 源
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
# 安装清华yum 源 (这里给的是ce的地址,ee地址同理)
vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
yum 安装gitlab
# 安装 gitlab-ee 或 yum -y install gitlab-ce
yum -y install gitlab-ee
配置gitlab
安装完成后就可以进行启动了。
# 第一步是为了解析配置文件并使用从其提供的值运行。
gitlab-ctl reconfigure # 我在启动这个里时候一直报错,因为硬件配置过低,官方建议内存4G.
gitlab-ctl start
gitlab 服务的配置文件在 /etc/gitlab/gitlab.rb 下,可以根据需要进行修改。
重新配置Gitlab 并启动:
gitlab-ctl reconfigure
gitlab-ctl restart
# 默认的访问端口需要通过修改/etc/gitlab/gitlab.rb文件中的nginx['listen_port']
Gitlab备份
Gitlab使用一条命令即可创建完整的Gitlab备份:
# 使用该命令会在gitlab备份目录(默认为/var/opt/gitlab/backups)下创建一个带时间戳的压缩包。
# 该方法适用yum安装gitlab使用。
gitlab-rake gitlab:backup:create
# /etc/gitlab/gitlab.rb 配置文件必须须备份
# /var/opt/gitlab/nginx/conf nginx配置文件
# /etc/postfix/main.cfpostfix 邮件配置备份
备份目录修改
可以通过/etc/gitlab/gitlab.rb
配置文件来修改默认存放备份文件的目录。
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
/var/opt/gitlab/backups
修改为你想存放备份的目录即可。
修改完成之后使用gitlab-ctl reconfigure
命令重载配置文件即可。
自动备份
自动备份通过 crontab 命令实现。
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
# 通过修改配置文件可以指定备份数量
恢复
恢复也比较简单:
# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 从1481598919编号备份中恢复
gitlab-rake gitlab:backup:restore BACKUP=XXXXXXX # 备份id号
# 启动Gitlab
sudo gitlab-ctl start
迁移
迁移操作类似于备份-恢复操作。
但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同。
/etc/gitlab/gitlab.rb
gitlab配置文件须迁移,迁移后需要调整数据存放目录 。/var/opt/gitlab/nginx/conf
nginx配置文件目录必须须迁移。
升级
-
关闭gitlab数据业务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
-
备份gitlab
gitlab-rake gitlab:backup:create
-
升级
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum update gitlab-ce
或者直接安装高版本
yum install gitlab-ce-8.12.13-ce.0.el7.x86_64
或者上官网下载最新版本 gitlab对应软件包 [gitlab官网](https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-8.12.13-ce.0.el7.x86_64.rpm)
使用 rpm -Uvh gitlab-ce-8.12.13-ce.0.el7.x86_64
报错.
Error executing action `run` on resource 'ruby_block[directory resource: /var/opt/gitlab/git-data/repositories]'
解决方法:
sudo chmod 2770 /var/opt/gitlab/git-data/repositories
-
启动
gitlab-ctl reconfigure
gitlab-ctl restart
# head -1 /opt/gitlab/version-manifest.txt # 查看当前gitlab版本