https://www.gitlab.com.cn/installation/
GitLab的两种安装方法:
编译安装
优点:可定制性强。数据库既可以选择MySQL,也可以选择PostgreSQL;服务器既可以选择Apache,也可以选择Nginx。
缺点:国外的源不稳定,被墙时,依赖软件包难以下载。配置流程繁琐、复杂,容易出现各种各样的问题。依赖关系多,不容易管理,卸载GitLab相对麻烦。
通过rpm包安装
优点:安装过程简单,安装速度快。采用rpm包安装方式,安装的软件包便于管理。
缺点:数据库默认采用PostgreSQL,服务器默认采用Nginx,不容易定制。
更新yum缓存
[root@deploy ~]# yum clean all
[root@deploy ~]# yum makecache
第一步
在系统防火墙中打开HTTP和SSH访问,依次运行下面的命令,命令如下所示:
sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
提示FirewallD is not running
通过 systemctl status firewalld 查看firewalld状态,发现当前是dead状态,即防火墙未开启。
通过 systemctl start firewalld 开启防火墙,没有任何提示即开启成功。
再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。
如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。
再次执行执行
firewall-cmd --permanent --add-service=http
提示success,表示设置成功,这样就可以继续后面的设置了。
sudo systemctl reload firewalld
第二步
安装Postfix 邮件通知服务,其实这一步是可以省略的,在 Gitlab 安装完成后还可以配置。安装命令如下:
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
如果报错提示:Job for postfix.service failed. See 'systemctl status postfix.service' and 'journalctl -xn' for details.
问题出现在网络设置,ipv6网段
vim /etc/hosts,注释掉下面一行
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
第三步
安装 Gitlab 软件包,这个才是真正的主角。
Add the GitLab package repository and install the package
Add the GitLab package repository.
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
这一步就是下载并安装 Gitlab 软件包,耐心等待就好。
Next, install the GitLab package. Change http://gitlab.example.com
to the URL at which you want to access your GitLab instance. Installation will automatically configure and start GitLab at that URL. HTTPS requires additional configuration after installation.
第四步
配置 Gitlab 访问的域名,配置命令如下:
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee
上面命令的 http://gitlab.example.com 需要换成自己域名,如果你的云服务器没有绑定域名,可以用 公网ip 代替,比如 http://47.94.230.26 , 这个 域名/ip 以后可以在浏览器中访问 Gitlab 服务。运行上面的命令就会下载并安装一些服务,耐心等待就好。
下载完成后会自动安装,直至安装完成。下载的时间取决你云服务器的宽带速度,我下载完花了 30 分钟 , 安装花了 5 分钟,耐心等待便是。
修改 ip
gitlab 本身采用 80 端口,如安装前服务器有占用 80,安装完访问会报错。需更改gitlab 的默认端口,比如我们将 Gitlab 的默认端口改为 8082 。
第一步
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
//开启防火墙 8082 端口
firewall-cmd --zone=public --add-port=8082/tcp --permanent
//重启防火墙服务,让配置生效
systemctl restart firewalld
第二步
修改 Gitlab 默认端口配置
打开 /etc/gitlab/gitlab.rb 文件,找到 external_url 字段
vim /etc/gitlab/gitlab.rb
修改以下几个
external_url 'http://10.241.0.1:8082'
#开启备份
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800
然后执行 gitlab-ctl reconfigure 让配置立即生效。
gitlab-ctl status 查看状态
在浏览器中访问 http://47.94.230.26:8082 , 就可以看到 Gitlab 的页面了。
#查看gitlab版本号
[root@deploy ~] cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
11.1.2
8080端口冲突
原因:由于unicorn默认使用的是8080端口。
解决办法:打开/etc/gitlab/gitlab.rb,打开# unicorn['port'] = 8080 的注释,将8080修改为9090,保存后运行sudo gitlab-ctl reconfigure即可。
其他命令
//启动
sudo gitlab-ctl star
//停止
sudo gitlab-ctl stop
//重启
sudo gitlab-ctl restart
//使更改配置生效
sudo gitlab-ctl reconfigure