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
相关推荐
黑风风3 分钟前
解决 GitLab CI/CD 中的 `413 Request Entity Too Large` 错误
ci/cd·gitlab
大耳朵土土垚27 分钟前
【Linux 】开发利器:深度探索 Vim 编辑器的无限可能
linux·编辑器·vim
极客小张35 分钟前
基于STM32MP157与OpenCV的嵌入式Linux人脸识别系统开发设计流程
linux·stm32·单片机·opencv·物联网
x66ccff40 分钟前
【linux】4张卡,坏了1张,怎么办?
linux·运维·服务器
jjb_2361 小时前
LinuxC高级作业2
linux·bash
OH五星上将1 小时前
OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【扩展组件】上
linux·嵌入式硬件·harmonyos·openharmony·鸿蒙开发·liteos-a·鸿蒙内核
拾光师2 小时前
linux之网络命令
linux·服务器·网络
我命由我123452 小时前
GPIO 理解(基本功能、模拟案例)
linux·运维·服务器·c语言·c++·嵌入式硬件·c#
皓月盈江2 小时前
Linux ubuntu debian系统安装UFW防火墙图形化工具GUFW
linux·ubuntu·debian·防火墙·ufw·gufw
kka杰2 小时前
Linux 进程3
linux·运维·服务器