部署
安装Postfix以发送通知邮件
yum install postfix
将postfix服务设置成开机自启动
systemctl enable postfix
启动postfix
systemctl start postfix
下载镜像
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm
安装依赖项
yum install policycoreutils-python
安装gitlab
rpm -i gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm
配置gitlab地址,格式http://公网ip:端口号
vi /etc/gitlab/gitlab.rb
external_url 'https://192.168.2.107:8084'
重载配置
gitlab-ctl reconfigure
启动
gitlab-ctl restart
默认登录
账号root,密码存放在/etc/gitlab/initial_root_password文件中
启动时,遇到
GitLab is taking too much time to respond
默认8080被端口占用,修改重启即可
vi /etc/gitlab/gitlab.rb puma['port'] = 8099 或者 unicorn['port']=8099 gitlab_workhorse['auth_backend'] = "http://localhost:8099"
加载配置并重启
sudo gitlab-ctl reconfigure sudo gitlab-ctl restart
卸载
gitlab-ctl stop
rpm -e gitlab-ce # 看是gitlab-ce版本还是gitlab-ee版本
ps aux | grep gitlab
kill -9 17313 # 杀掉`runsvdir -P /opt/gitlab/service log`的进程
find / -name *gitlab*|xargs rm -rf
find / -name gitlab | xargs rm -rf
ls /root/gitlab*
备份
首先进行老Gitlab服务器全量备份,使用一条命令即可创建完整的Gitlab备份。
gitlab-rake gitlab:backup:create
迁移
新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同. 比如新服务器安装的是最新的11.1.4版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为11.1.4再进行备份。
获取备份数据
第一步,从远程服务器copy刚才的备份文件到了新服务器的/var/opt/gitlab/backups/ 备份目录下
root@centos backups]# pwd
/var/opt/gitlab/backups
[root@centos backups]# ll
total 554280
-rwxr-xr-x. 1 root root 567582720 Sep 7 11:01 1635815578_2021_11_02_10.0.0_gitlab_backup.tar
[root@centos backups]#
修改备份文件权限
第二步,将备份文件权限修改为777,避免恢复的时出现权限不够,不能解压的问题
chmod 777 1635815578_2021_11_02_10.0.0_gitlab_backup.tar
停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
从备份文件中恢复Gitlab数据
gitlab-rake gitlab:backup:restore BACKUP=备份文件编号
gitlab-rake gitlab:backup:restore BACKUP=1635815578_2021_11_02_10.0.0 # 注意是备份文件编号
重新刷新配置【否则无法登陆】
gitlab-ctl reconfigure
启动
gitlab-ctl restart
升级
10.0.0 --> 15.0
必须先升级小版本的最大版本,再升级更高的版本,依次递进。
升级之前先做备份
配置yum源
cat >/etc/yum.repos.d/gitlab-ce.repo<<EOF
[gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
repo_gpgcheck=0
gpgcheck=0
enable=1
gpgkey=https://packages.gitlab.com/gpg.key
EOF
升级不用停gitlab,注意不能跨大版本升级,只能逐级升
10.0.0->10.8.7->11.0.0->11.11.8->12.0.0->12.10.9->13.0.0->13.12.9->14.0.0->14.10.5->15.0.0->15.3.3
循环执行以下步骤
sudo yum install gitlab-ce-x.x.xxxx
sudo gitlab-ctl stop sidekiq;
// 13.10之前
sudo gitlab-ctl stop unicorn;
// 13.10之后
sudo gitlab-ctl stop puma;
sudo gitlab-ctl reconfigure;
sudo gitlab-ctl restart;
//查看版本
cat /var/opt/gitlab/gitlab-rails/VERSION
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?