-
一. Gitlab安装
引言:
首先查看服务器环境,在镜像中找和自己环境匹配的Gitlab-rpm包,项目原因暂时不可截图,后续在个人服务器操作会补上:
下载地址:Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
命令为:uname –a 或者 uname –r 查看具体输出
1. 查看是否安装gitlab依赖(policycoreutils-python,openssh)
命令为:rpm –qa | grep policycoreutils-python
rpm –qa | grep openssh
特殊情况:有输出版本则跳过下面的安装步骤,没有则通过下面的指导去安装。
Policycoreutils-python安装包:
https://vault.centos.org/7.9.2009/os/x86_64/Packages/policycoreutils-python-2.5-34.el7.x86_64.rpm
opensh安装方式:
yum -y install openssh.x86_64
yum -y install openssh-server.x86_64
yum -y install openssh-clients.x86_64
2. 将下载好的gitlab*.rpm安装包上传到服务器中,在安装包路径中使用rpm进行安装,
命令为: sudo rpm -ivh gitlab-*
3. 成功后默认会生成配置文件,然后修改gitlab.rb中的url地址:
命令为: vim /etc/gitlab/gitlab.rb
打开后按下 i 键进入编辑模式,修改32行中的:“ external_url 'http://*' ”为个人服务器+端口号
Eg: external_url 'http://10.10.10.10:8080'
修改完成后按下 Esc 键,输入 :wq 回车保存即可
建议修改地址为本机IP:端口号 端口为随机,默认为8080
4. 修改保存完成后,重新启动gitlab的配置文件。
命令为:gitlab-ctl reconfigure
等待5分钟左右,待最后出现 “gitlab Reconfigured!“ 即操作成功。
特殊情况:如果没有启动成功,查看报错原因或者修改端口号,再重新启动配置文件,如果还不行就需要考虑关闭防火墙。
检查防火墙状态:systemctl status firewalld
如果是打开状态,需关闭防火墙:systemctl stop firewalld
关闭以后重新启动配置文件:gitlab-ctl reconfigure
5.启动成功后,在浏览器输入在/etc/gitlab/gitlab.rb 文件中设置的IP以及端口号登录。
账户为:root
初始密码位置在服务器:/etc/gitlab/initial_root_password
命令为:vim /etc/gitlab/initial_root_password
6. 登录后需要修改密码,gitlab默认初始密码只会保存24小时。
修改密码:点击个人→Edit profile→会弹出左列菜单栏,点击Password后右侧显示栏编辑。
修改语言:点击个人→Edit profile→会弹出左列菜单栏,点击Preferences后右侧显示栏下拉,找到Localization,选择Language下拉框修改→点击save保存,刷新页面会显示中文格式。
7.gitlab安装操作就完成了,根据页面显示创建群组,项目以及成员等操作。
这些操作暂不做演示,根据个人需求创建,新用户可在gitlab页面自行创建个人账号,需root账号审批后可登录。
二. Gitlab卸载
1. 停止gitlab服务。
命令为:gitlab-ctl stop
2. 卸载gitlab版本,根据自己安装的版本决定使用哪个命令。
命令为:rpm -e gitlab-ce * 不带后缀rpm哈。
rpm -e gitlab-ce * 不带后缀rpm哈。
3. 移除gitlab的本地遗留文件,如果下面文件中包含个人提前创建的文件,需提前查看是否保留
rm -rf /opt/gitlab
rm –rf /var/opt/gitlab
rm -rf /etc/gitlab
rm -rf /var/log/gitlab 日志log,可无脑删,可保留不影响下次安装。
删除后可用命令:find / -name “*gitlab*” 查看是否有遗留文件夹。
4. 查看gitlab进程:ps aux | grep gitlab
如果进程中有显示:“ /var/log/gitlab/* ” 的可以不用处理,不会影响后续gitlab安装,如果是其它的进程,需要把对应的进程kill 掉。默认是不会有残留,少数情况下会有redies进程未杀掉,需手动清理。
特殊情况:卸载后重新安装遇到的问题
问题1. Caused by:
PG::ConnectionBad: connections to server on socket “/var/opt/gitlab/postgresql/.s.PGSQL.5432”? faied : No such file or directory
IS the ****** on that socket?
解决:缓存未清理干净,需把gitlab以前的配置文件以及遗留进程都删除干净,在重新使用rpm命令安装即可。
问题2. 页面一直是502状态(waiting for gitlab to boot502)
解决:如果页面一直为502状态(waiting for gitlab to boot502),则把gitlab.rb中的端口改掉重启即可
命令为:vim /etc/gitlab/gitlab.rb
修改32行的端口,Eg: external_url 'http://10.10.10.10:8989' 7878都可以
输入重新启动配置命令即可
命令为:gitlab-ctl reconfigure
三. Gitlab升级(rpm包)
知会:升级前建议备份一份,以防数据丢失,个人升级验证时未出现项目以及数据丢失问题,备份指导链接:
本次升级是从16.1.0 升级到17.1.1,Gitlab不支持大版本升级,需多次升级小版本后才能升级到17.1.*,本次升级下载的版本依次为:16.1.0→16.3.0→16.7.2→16.10.8→16.11.3→17.0.3
1. 查看当前版本信息
命令为:sudo gitlab-rake gitlab:env:info
2. 停止 GitLab
命令为:sudo gitlab-ctl stop
3.打开 postgresql
升级安装需要依赖postgresql,所以需提前打开
命令为:gitlab-ctl start postgresql
特殊情况:不打开升级会遇到的问题为:
问题1. connections on Unix domain socket “/var/opt/gitlab/postgresql/.s.PGSQL.5432”?
4. 安装16.3*
根据个人服务器决定使用哪个命令哈,二选一:
sudo dpkg -i gitlab-ce_16.*-ce.0_amd64.deb # Debian/Ubuntu
sudo rpm -Uvh gitlab-ce-16.*-ce.0.el7.x86_64.rpm # CentOS/RHEL
等待几分钟即可显示升级成功,升级成功后建议重新启动一下配置文件:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-ctl status # 检查状态是否升级成功
在浏览器管理中心查看版本号是否成功。
5. 安装 16.7.*
后续升级到17.0.1的操作重复执行上述命令即可,基本不会遇到其他问题。
sudo gitlab-ctl stop
gitlab-ctl start postgresql
sudo rpm -Uvh gitlab-ce-*****.rpm # CentOS/RHEL
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-ctl status # 检查状态是否升级成功
建议每次小版本升级后都在页面查看一下是否升级成功
如果遇到报错,则优先安装报错中的版本(看知会有描述 升级有版本依赖)。
结语
上述操作均为个人验证步骤,如果各位遇到其他报错问题或以上描述操作有误的,可咨询留言指导,互相学习进步。