添加镜像地址的目的是为了提高国内用户软件下载的速度,编辑(新建)文件gitlab-ce.repo
,指令:
vi /etc/yum.repos.d/gitlab-ce.repo
输入:
[gitlab-ce]
name=gitlab-ce
# 清华大学的镜像源
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
保存修改:按下ESC
键,再输入:wq
,然后回车
依次输入以下指令
# 安装和配置openssh
sudo yum install curl policycoreutils-python openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
# 安装和配置邮件服务
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
注意 如果无法启动postfix,可以尝试以下操作:
输入以下指令编辑main.cf
文件:
vim /etc/postfix/main.cf
找到如下内容并进行如下修改:
inet_protocols = ipv4
inet_interfaces = all
需要开启防火墙的,执行以下操作
# 安装和配置防火墙
sudo yum install firewalld
sudo systemctl start firewalld
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
执行以下指令安装最新版的GitLab
yum install gitlab-ce
GitLab10.0.0下载:
curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
安装:
rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
运行以下指令,类似于初始化操作:
sudo gitlab-ctl reconfigure
[可选操作] 配置防火墙,放行端口(8091为例):
sudo firewall-cmd --permanent --zone=public --add-port=8091/tcp
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
[可选操作] 关闭防火墙
# 查看防火墙状态
firewall-cmd --state
# 关闭防火墙
systemctl stop firewalld.service
# 关闭防火墙自启动
systemctl disable firewalld.service
vim
的搜索指令提示:
打开文件后,在命令模式,就是按下ESC
后的模式,输入以下内容,点击进行搜索,按下N
搜索下一个,按下Shift+N
搜索前一个:
#“/”后面添加需要搜索的内容
/external_url
更改GitLab端口,编辑文件gitlab.rb
:
vim /etc/gitlab/gitlab.rb
修改以下内容(IP以 47.110.230.147 为例):
external_url 'http://47.110.230.147:8091'
nginx['listen_port'] = 8091
nginx['listen_https'] = false
更改nigx端口,编辑文件gitlab-http.conf
:
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
查找如下内容并修改:
server {
listen *:8091;
server_name 47.110.230.147;
...
if ($http_host = "") {
set $http_host_with_default "47.110.230.147:8091";
}
}
保存修改,执行以下指令:
gitlab-ctl reconfigure
启动GitLab:
gitlab-ctl restart
访问GitLab,访问地址:http://47.110.230.147:8091
,默认用户为 root
,首次打开网站会要求输入root账户的密码。
使用如下指令进行全部备份:
gitlab-rake gitlab:backup:create
备份文件存放于
/var/opt/gitlab/backups
文件名类似于
1551348773_2019_02_28_10.0.0_gitlab_backup.tar
其中1551348773_2019_02_28
为备份日期,10.0.0
为GitLab的版本。
**注意 **新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同。如新服务器安装的是最新的10.0.0版本的Gitlab,那么迁移之前, 最好将老服务器的Gitlab 升级为10.0.0再进行备份。
将之前备份的文件拷贝至
/var/opt/gitlab/backups
执行命令停止相关数据连接服务:
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
执行以下指令进行恢复GitLab:
# gitlab-rake gitlab:backup:restore BACKUP=备份文件编号(编号就是备份文件名前面的数字)
gitlab-rake gitlab:backup:restore BACKUP=1551348773_2019_02_28_10.0.0
指令执行过程中有两次交互,都输入yes
即可。
执行指令再次启动GitLab:
sudo gitlab-ctl start
关闭GitLab:
gitlab-ctl stop
启动GitLab:
gitlab-ctl start
重启GitLab:
gitlab-ctl restart
502异常可能是内存不足造成的,也可能是端口被占用造成的,针对后者,请做如下处理:
输入指令,修改GitLab配置:
vim /etc/gitlab/gitlab.rb
再次输入以下指令进行查找:
# unicorn是ruby的http server
# 可以通过http://localhost:8080端口访问,nginx只是unicorn的反向代理
# vim的查找支持正规则,所以`[`和`]`需要进行转义
/unicorn\['port'\]
将默认的 8080
端口改为其他端口,如 9090
输入 ESC
,再输入 :wq
,最后回车进行保存退出
输入以下命令进行重启配置:
gitlab-ctl reconfigure
再输入以下指令进行GitLab的重启:
gitlab-ctl restart