Centos安装、迁移gitlab

Centos安装迁移gitlab

一、下载安装

# 复制代码
##安装依赖
yum -y install policycoreutils openssh-server openssh-clients postfix policycoreutils-python

##命令下载安装
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

yum install gitlab-ce

##手动下载安装
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-17.1.1-ce.0.el7.x86_64.rpm

rpm -ivh gitlab-ce-17.1.1-ce.0.el7.x86_64.rpm 

二、配置rb修改,起服务。

# 复制代码
[root@zentao-test gitlab]# systemctl status postfix
[root@zentao-test gitlab]# systemctl enable postfix

[root@zentao-test gitlab]# firewall-cmd --add-service=ssh --permanent
[root@zentao-test gitlab]# firewall-cmd --add-service=http --permanent

[root@zentao-test gitlab]# firewall-cmd --reload

[root@zentao-test gitlab]#  vim /etc/gitlab/gitlab.rb
external_url  'http://gitlab.test.com'

##配置邮箱通知,qq邮箱为例
##[qq邮箱如何获取授权码](https://blog.csdn.net/qq_44637753/article/details/126717153)
# gitlab_rails['gitlab_email_from'] = '1349***626@qq.com'
# gitlab_rails['gitlab_email_display_name'] = 'Gitlab'   
# gitlab_rails['gitlab_email_reply_to'] = '1349***626@qq.com'  
# gitlab_rails['smtp_enable'] = true
# gitlab_rails['smtp_address'] = "smtp.qq.com"   ##smtp.163.com
# gitlab_rails['smtp_port'] = 465
# gitlab_rails['smtp_user_name'] = "1349***626@qq.com"
# gitlab_rails['smtp_password'] = "qq授权码"
# gitlab_rails['smtp_domain'] = "smtp.qq.com"
# gitlab_rails['smtp_authentication'] = "login"
# gitlab_rails['smtp_enable_starttls_auto'] = false
# gitlab_rails['smtp_tls'] = true
# gitlab_rails['smtp_pool'] = false
#unicorn['worker_processes'] = 2   ##14注释
postgresql['max_worker_processes'] = 4
nginx['listen_port'] = 9099
nginx['worker_processes'] = 2


##如果需要https,自制ssl证书后
#nginx['enable'] = true
#nginx['client_max_body_size'] = '2048m'
#nginx['redirect_http_to_https'] = true           #取消#号 更改注释并为true
#nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.test.com.crt"     #更改路径
#nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.test.com.key"     #更改路径


##重新加载配置,启动gitlab
[root@zentao-test gitlab]#   gitlab-ctl reconfigure
##运行在ruby_block[wait for logrotate service socket] action run卡住情况下
##新开终端运行下列命令,不终止
/opt/gitlab/embedded/bin/runsvdir-star
##邮箱测试
[root@zentao-test gitlab]#  gitlab-rails console
> Notify.test_email('1349***626@qq.com','test Gitlab Email','Test').deliver_now

邮件发送成功

三、访问web,个人偏好设置。

cpp 复制代码
##防火墙放通
[root@zentao-test gitlab]# firewall-cmd --add-port=9099/tcp --permanent
success
[root@zentao-test gitlab]# firewall-cmd --reload

[root@zentao-test gitlab]# cat /etc/gitlab/initial_root_password 
Password: RN5rmZUR2JHOUWHWS4DfBx0H+IZPGoN7dFSPWKS60kw=

##nginx监听端口:9099访问:ip:9099

##个人偏好设置,中文

四、数据迁移

注:GitLab不能跨版本升级。

1、查看当前GitLab版本

cpp 复制代码
[root@zentao-old gitlab]#  cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

2、备份旧服务器的文件

cpp 复制代码
##默认备份文件在 /var/opt/gitlab/backups/
[root@zentao-old backups]#   gitlab-rake gitlab:backup:create

##手动备份/etc/gitlab目录以下两个文件到迁移服务器目录下
gitlab-secrets.json  主
gitlab.rb  次

3、将上述备份文件拷贝到新服务器同一目录下,恢复GitLab

cpp 复制代码
## 将备份文件权限修改为777,避免出现权限不够的问题
[root@zentao-new backups]#  scp -r 192.168.10.146:/var/opt/gitlab/backups/1721897692_2024_07_25_13.12.15_gitlab_backup.tar /var/opt/gitlab/backups/

[root@zentao-new backups]#  chmod 777 1721897692_2024_07_25_13.12.15_gitlab_backup.tar

4、停止新gitlab数据连接服务

cpp 复制代码
[root@zentao-new gitlab]#  gitlab-ctl stop unicorn
[root@zentao-new gitlab]#  gitlab-ctl stop sidekiq

5、恢复备份文件到GitLab

cpp 复制代码
##备份文件编号省略_gitlab_backup.tar
##gitlab-rake gitlab:backup:restore BACKUP=备份文件编号

[root@zentao-new gitlab]#  gitlab-rake gitlab:backup:restore BACKUP=1721897692_2024_07_25_13.12.15

6、启动GitLab,验证

cpp 复制代码
[root@zentao-new gitlab]#  gitlab-ctl start


[root@zentao-new gitlab]# gitlab-ctl restart
相关推荐
Peter·Pan爱编程14 分钟前
Docker在Linux中安装与使用教程
linux·docker·eureka
kunge20131 小时前
Ubuntu22.04 安装virtualbox7.1
linux·virtualbox
清溪5491 小时前
DVWA中级
linux
Sadsvit2 小时前
源码编译安装LAMP架构并部署WordPress(CentOS 7)
linux·运维·服务器·架构·centos
xiaok2 小时前
为什么 lsof 显示多个 nginx 都在 “使用 443”?
linux
苦学编程的谢3 小时前
Linux
linux·运维·服务器
G_H_S_3_3 小时前
【网络运维】Linux 文本处理利器:sed 命令
linux·运维·网络·操作文本
Linux运维技术栈3 小时前
多系统 Node.js 环境自动化部署脚本:从 Ubuntu 到 CentOS,再到版本自由定制
linux·ubuntu·centos·node.js·自动化
拾心213 小时前
【运维进阶】Linux 正则表达式
linux·运维·正则表达式
Gss7774 小时前
源代码编译安装lamp
linux·运维·服务器