Centos7 搭建 Gitlab、备份、升级、迁移、高可用(二)

一:备份与恢复:

1.1:备份

      在gitlab运行时,执行命令gitlab-rake gitlab:backup:create即可备份,效果如下

#执行命令  gitlab-rake gitlab:backup:create  ,进行备份
[root@gitlab1 ~]# gitlab-rake gitlab:backup:create
2020-08-17 10:26:27 +0800 -- Dumping database ... 
Dumping PostgreSQL database gitlabhq_production ... [DONE]
2020-08-17 10:26:30 +0800 -- done
2020-08-17 10:26:30 +0800 -- Dumping repositories ...
 * whatever/whatfuckprojet (@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b) ... [DONE]
[SKIPPED] Wiki
 * whatever/whatafuckingprojcet (@hashed/d4/73/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35) ... [DONE]
[SKIPPED] Wiki
2020-08-17 10:26:31 +0800 -- done
2020-08-17 10:26:31 +0800 -- Dumping uploads ... 
2020-08-17 10:26:31 +0800 -- done
2020-08-17 10:26:31 +0800 -- Dumping builds ... 
2020-08-17 10:26:31 +0800 -- done
2020-08-17 10:26:31 +0800 -- Dumping artifacts ... 
2020-08-17 10:26:31 +0800 -- done
2020-08-17 10:26:31 +0800 -- Dumping pages ... 
2020-08-17 10:26:31 +0800 -- done
2020-08-17 10:26:31 +0800 -- Dumping lfs objects ... 
2020-08-17 10:26:31 +0800 -- done
2020-08-17 10:26:31 +0800 -- Dumping container registry images ... 
2020-08-17 10:26:31 +0800 -- [DISABLED]
Creating backup archive: 1597631191_2020_08_17_13.1.6_gitlab_backup.tar ... done
Uploading backup archive to remote storage  ... skipped
Deleting tmp directories ... done
done
done
done
done
done
done
done
Deleting old backups ... skipping
Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data 
and are not included in this backup. You will need these files to restore a backup.
Please back them up manually.
Backup task is done.

      备份过程中,会提示“warning Your gitlab.rb and gitlab-secrets.json”。这意味着gitlab没有帮我们备份这些配置文件,需要我们自己手动备份。

      我的理解:如果这些配置文件没有重大变更的话,可以不必频繁备份。

      备份后,会产生一个形如(1597375837_2020_08_14_13.0.12_gitlab_backup.tar)的 备份文件

  /etc/gitlab/gitlab.rb 文件中,关于备份的常用属性解释

  gitlab_rails['backup_path']属性。用于设置备份文件的存放位置。修改后,需要执行gitlab-ctl reconfigure 刷新配置。

  gitlab_rails['backup_keep_time']属性。用于设置备份文件过期时间,这里的时间以秒计算

  gitlab_rails['backup_multipart_chunk_size']属性。用于设置备份文件拆分后,每个子文件大小。

  gitlab_rails['backup_encryption']属性,用于设置备份文件的加密方式。

 

1.2:恢复

#为进行恢复的数据源赋予可执行权限
[root@gitlab1 backups]# chmod 755 /var/opt/gitlab/backups/1597375837_2020_08_14_13.0.12_gitlab_backup.tar

#停止gitlab的数据写入服务,但git本身依然在运行。第一个是托管服务,第二个是任务队列
[root@gitlab1 backups]# gitlab-ctl stop unicorn
[root@gitlab1 backups]# gitlab-ctl stop sidekiq


#执行命令,进行恢复。这里“BACKUP”的值,就是备份数据源tar包的前半部分名称
[root@gitlab1 backups]# gitlab-rake gitlab:backup:restore BACKUP=1597375837_2020_08_14_13.0.12 

      恢复过程的内容较多,不在此进行展示。需要注意的是,在恢复过程中会有各种提示,然后需要我们两次确认(输入yes即可)。如果一切正常,就会成功恢复到备份的数据源的状态。然后再次重启服务即可(执行命令gitlab-ctl start)

二:升级

      2.1:同版本内部升级

      比如从13.0.12升级到13.1.6。这种情况下不需考虑太多,直接升级就好了,操作如下所示

#第一步,下载期望版本的安装包,下载地址见我的上一篇

#第二步,停止所有gitlab服务。如下所示
[root@gitlab1 backups]# gitlab-ctl stop
#或者像恢复操作一样,停止队列服务和托管等服务即可,如下所示
[root@gitlab1 backups]# gitlab-ctl stop unicorn
[root@gitlab1 backups]# gitlab-ctl stop sidekiq
[root@gitlab1 backups]# gitlab-ctl stop nginx

#第三步,升级
[root@gitlab1 backups]# rpm -Uvh gitlab-ce-13.1.6-ce.0.el7.x86_64.rpm

#第四步,刷新配置,重启服务
[root@gitlab1 backups]# gitlab-ctl reconfigure
[root@gitlab1 backups]# gitlab-ctl restart postgresql
[root@gitlab1 backups]# gitlab-ctl start

      2.2:跨版本升级

      跨版本升级,特别是跨了多个版本的情况下(如,从10.1.3升到13.1.6)

      最稳妥的方式,就是是逐个大版本升级。比如先从10升到11,再升到12、13这样。

      推荐大家在升级到每个大版本后,都启动一次验证一下能否正常使用。

      其他的操作与同版本内部升级完全一致,在此不再赘述。

三:迁移

3.1:在同版本的不同服务器间迁移

      相同版本间的迁移,就相当于一次异地恢复操作。

      需要注意的就是异地服务器中配置文件的备份,具体操作步骤这里不再具体举例详述了。

3.2:向高版本迁移

      其实就是一次升级操作。假设我们为迁移源和迁移目标服务器分别命名为A和B

      我们可以在停止A服务器的服务之后,先将A升级到目标版本,再将升级后的A做备份

      最后我们将A的最新高版本备份复制到B服务器,以A的最新备份对B服务器做恢复即可完成迁移。

四:需要注意的地方

      在恢复和升级‘迁移中,最可能遇到的问题就是操作完毕不能启动。

      为了避免这种情况,我们一定要在操作前,做好各种备份!!!包括配置文件的备份。这点很重要!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 下面是CentOS 7搭建GitLab服务器的大致步骤: 1. 安装必要的依赖包:sudo yum install curl policycoreutils-python openssh-server 2. 安装Postfix以支持发送邮件:sudo yum install postfix 3. 添加GitLab仓库:curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash 4. 安装GitLab:sudo yum install gitlab-ce 5. 配置并启动GitLab:sudo gitlab-ctl reconfigure 注意:以上步骤仅提供参考,具体安装过程请参考GitLab官方文档。 ### 回答2: GitLab是一款基于Git的Web平台,用于管理Git仓库、代码审查、问题跟踪以及自动构建等。CentOS 7上安装GitLab服务器需要经过如下步骤: 1. 更新系统 首先,你要更新CentOS 7操作系统,以确保安装过程中使用最新版本的软件包。可以使用以下命令完成系统升级: ``` sudo yum update -y ``` 2. 安装必要软件 在安装GitLab之前,需要确保系统上安装了一些必要软件,包括curl,policycoreutils和Postfix等。可以使用以下命令安装这些软件: ``` sudo yum install -y curl policycoreutils openssh-server openssh-clients postfix ``` 在安装Postfix时,你需要选择“Internet Site”选项。 3. 安装GitLab 接下来,你可以使用官方的GitLab安装脚本安装GitLab。可以使用以下命令下载和运行脚本: ``` curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash sudo yum install -y gitlab-ce ``` 该脚本将会添加GitLab官方的yum存储库,以便自动安装最新版本的GitLab。 4. 配置GitLab 安装GitLab后,你需要对其进行一些配置以使其正常运行。你可以使用以下命令编辑GitLab配置文件: ``` sudo vi /etc/gitlab/gitlab.rb ``` 你需要根据具体需求和安全需求在文件中设置适当的值。最重要的配置参数如下: ``` # 配置GitLab的外部URL external_url 'http://gitlab.example.com' # 配置邮件服务,用于发送通知 gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.gmail.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "user@example.com" gitlab_rails['smtp_password'] = "password" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true # 配置GitLab SSH监听地址 gitlab_rails['gitlab_ssh_host'] = 'ssh.example.com' gitlab_rails['gitlab_ssh_port'] = 22 # 配置LDAP身份验证(可选) gitlab_rails['ldap_enabled'] = true gitlab_rails['ldap_servers'] = YAML.load <<-EOS main: label: 'LDAP' host: 'ldap.example.com' port: 636 uid: 'sAMAccountName' bind_dn: 'CN=GitLab,OU=Service Accounts,DC=example,DC=com' password: 'password' encryption: 'simple_tls' verify_certificates: false active_directory: true allow_username_or_email_login: true block_auto_created_users: false base: 'DC=example,DC=com' EOS ``` 5. 重新配置GitLab 完成配置文件的编辑后,你需要重新配置GitLab以应用新的设置: ``` sudo gitlab-ctl reconfigure ``` 这会执行所有必要的配置更改,以确保GitLab可以正常运行。 6. 访问GitLab 在完成GitLab的安装和配置后,你可以通过浏览器访问GitLab,登录并创建仓库、添加用户等操作。GitLab默认使用HTTP协议,可以在配置文件中配置为HTTPS。 GitLab是一款功能强大的版本控制平台,可以用于开发和团队协作。CentOS 7上的安装和配置也非常简单,只需要按照以上步骤进行即可。 ### 回答3: CentOS 7 搭建 GitLab 服务器 Git是一个版本控制系统,可用于共享和管理源代码、文本文件、电子文档等等。GitLab是一个源代码管理器,提供自托管 Git repos、代码评审、CI/CD、问题跟踪等功能。在本文中,我们将介绍在 CentOS 7 上搭建 GitLab 服务器的过程。 准备工作: 准备一台安装了 CentOS 7 操作系统的主机。 确保主机的防火墙开放了HTTP/HTTPS端口。 确保主机已连接到互联网。 安装必要的软件包: 在开始之前,我们需要确保在服务器上安装了常见的软件包: sudo yum install -y curl policycoreutils-python openssh-server sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-service=http --add-service=https sudo systemctl reload firewalld 安装 GitLab CE: GitLab有两个版本:CE和EE。CE是社区版,免费使用;EE是企业版,需要付费才能使用。在我们的例子中,我们将使用GitLab CE搭建我们的源代码管理器。 sudo yum install -y postfix sudo systemctl enable postfix sudo systemctl start postfix curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash sudo yum install -y gitlab-ce sudo gitlab-ctl reconfigure 我们现在可以通过浏览器访问GitLab web UI。在浏览器中键入服务器IP地址,然后会显示GitLab设置向导。根据您的要求来自定义您的GitLab实例。 初始登陆到GitLab: 在第一次登录 GitLab 时,您将被要求输入初始管理员密码。此密码随后需要更改。此外,还要求您更改登记用户的密码。 首先,用IP访问和端口号(默认为80)打开网站,然后选择更改密码: 输入初始管理员密码。 创建新密码以继续。 创建新用户: 现在我们需要创建用于GitLab的新用户。登陆到GitLab并点击右上角的"Add user"。 ``` 输入用户名和用户密码。 为新用户分配一个角色("reporter" 或 "developer"),并单击"Create user"。 ``` 我们已经安装并配置了GitLab服务器。这是一个初始过程,并且需要根据您的项目需要进行自定义。现在你可以开始创建和管理Git仓库,共享代码并管理您的项目。 总结: 在CentOS 7上搭建GitLab服务器非常简单,只需要几个步骤。首先,您需要确保服务器上安装了必要的软件包,例如SSH,firewalld,以打开HTTP和HTTPS端口。然后,您需要使用GitLab安装脚本安装GitLab。一旦安装成功了,您可以使用Web页面登录到GitLab,并开始上传和共享代码库。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值