gitlab安装以及数据迁移

一、gitlab安装

直接从官网上下载

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm,没有安装wget 需要先安装wget

rpm -ivh gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm  
#使用rpma安装安装包时,会出现
#error: Failed dependencies:
#意思是 失败的依赖 
# 解决方法:
#在安装包后面加两个参数,如
#rpm -ivh 包名 --nodeps --force

配置gitlib的IP和端口

# IP和端口修改配置文件:

vi /etc/gitlab/gitlab.rb

重置并启动GitLab

配置:gitlab-ctl reconfigure

启动:GitLab:gitlab-ctl restart

二、修改gitlab存储位置

  • # 先停止 gitlab

gitlab-ctl stop

  • gitlab的默认存储目录是   /var/opt/gitlab/git-data/
  • 创建新存储目录  mkdir -p /data/gitlab-data
  • 修改配置文件( git_data_dirs 对应的配置)

  • 将旧的gitlab数据迁移到新目录:

rsync -av /var/opt/gitlab/git-data/repositories /data/gitlab-data/

  • 重新加载配置:gitlab-ctl repositories
  • 启动gitlab:gitlab-ctl start

三、gitlab服务器/数据迁移

本章介绍gitlab服务器迁移,需要把数据一起迁移到新服务器

新服务器注意需要搭建的版本和旧服务同一版本,版本不通可能会有兼容性问题

gitlab版本号查看:

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

 1、新服务安装gitlab

需要安装的版本和旧服务器保持一致

安装依赖

sudo yum install curl policycoreutils openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

安装gitlab

curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-***.rpm
rpm -i gitlab-ce-***.rpm
gitlab-ce-***.rpm 是本次安装的版本号,根据实际情况修改
 
gitlab下载官方地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/  
 
 

2、旧服务器数据备份

# 本次操作在旧服务器

gitlab-rake gitlab:backup:create
# 默认将会在 /var/opt/gitlab/backups/ 目录下生成备份文件
# 如果没有生成,"gitlab-ctl show-config | grep backup_path"查看生成备份文件路径
 
# 备份原服务器上的配置文件:
 /etc/gitlab/gitlab.rb
 /etc/gitlab/gitlab-secrets.json
 

# 需要把生成的备份数据和上面两份配置文件拷贝到新服务器

3、新服务器恢复数据、替换配置文件

# 本次操作在新服务器:

# 先恢复两份配置文件:

mv ./gitlab.rb /etc/gitlab/
mv ./gitlab-secrets.json /etc/gitlab/

# 配置文件生效:
sudo gitlab-ctl reconfigure

# 恢复数据文件
# 恢复数据到备份目录,默认是/var/opt/gitlab/backups

# 如果有修改过默认路径,可以查看  "gitlab-ctl show-config | grep backup_path"
mv ./1637517122_2024_12_21_10.5.4_gitlab_backup.tar /var/opt/gitlab/backups/


# 如果文件没有其他用户读权限:
gitlab-rake gitlab:backup:restore BACKUP=1637417712_2021_11_20_10.5.4
gitlab-ctl reconfigure

 4、注意,恢复备份文件可能会报错:

Restoring PostgreSQL database gitlabhq_production ... ERROR:  must be owner of extension pg_trgm
ERROR:  must be owner of extension btree_gist
ERROR:  must be owner of extension btree_gist
ERROR:  must be owner of extension pg_trgm

解决办法:

1、修改postgresql相关配置

# 修改以下配置文件,修改端口监听地址,默认监控localhost,* 代表all
$ vim /var/opt/gitlab/postgresql/data/postgresql.conf
 
listen_addresses = '*'
# 以下配置文件新增以下两行
$ vim /var/opt/gitlab/postgresql/data/pg_hba.conf
 
local   all         all                               trust
host    all         all                               127.0.0.1/32 trust

2、重启gitlab服务

gitlab-ctl restart

3、修改数据


$ su - gitlab-psql
 
$ /opt/gitlab/embedded/bin/psql -h 127.0.0.1 gitlabhq_production
 
gitlabhq_production=# ALTER USER gitlab WITH SUPERUSER;
 
ALTER ROLE
 
gitlabhq_production=# \q
 
$ exit

4、重新执行数据恢复命令后正常

四、使用 rails 控制台修改root密码

如果知道用户名、用户 ID 或电子邮件地址,可以使用 Rails 控制台重置他们的密码:

1、打开 Rails 控制台。

sudo gitlab-rails console

2、通过用户名找到用户:

user = User.find_by_username 'exampleuser' 

3、通过用户 ID 找到用户(root 用户 ID 一般是1):

 user = User.find(123)

4、通过电子邮件地址找到用户:

user = User.find_by(email: 'user@example.com')

5、通过设置 user.password 和 user.password_confirmation 的值来重置密码。例如,要设置一个新的随机密码:

new_password = ::User.random_password
user.password = new_password
user.password_confirmation = new_password

6、保存更改

user.save!

7、推出控制台

exit

# 例如修改root密码:

进入控制台:

gitlab-rails console

在控制台执行:

user = User.find_by_username('root')
user.password = 'new_password'
user.password_confirmation = 'new_password'
user.save!

 推出控制台:

exit

  • 35
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值