Docker   发布时间:2022-05-13  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Gitlab最佳实践 -- 安装与维护大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

Gitlab最佳实践 -- 安装与维护

一、安装与运行

// 拉取镜像
docker pull gitlab/gitlab-ce

// 运行镜像(因为是在本地运行,用的是本机IP地址,正式部署应该使用域名)
docker run --detach \
  --hostname 192.168.37.129 \
  --publish 443:443 --publish 80:80 --publish 2022:22 \
  --name gitlab \
  --restart always \
  --volume /srv/gitlab/config:/etc/gitlab \
  --volume /srv/gitlab/logs:/var/log/gitlab \
  --volume /srv/gitlab/data:/var/opt/gitlab \

注意:生产环境建议将config,logs,data挂载在宿主机。以避免当Gitlab Docker进程意外终止,重启后丢失配置信息和数据。

@H_674_18@

// 修改配置
docker exec -it gitlab /bin/bash

// 编辑配置
vim /etc/gitlab/gitlab.rb

// 修改外部访问地址,局域网内可以使用IP。公网使用域名
external_url "http://192.168.37.129"

// 重启
docker restart gitlab

Gitlab最佳实践 -- 安装与维护

在浏览器输入:http://192.168.37.129/ 。第一次访问Gitlab需要设置root账号密码。

Gitlab最佳实践 -- 安装与维护

二、备份与恢复

2.1、备份

// 在主机运行备份。命令如下:
// docker exec -t <container name> gitlab-BACkup create

docker exec -t gitlab gitlab-BACkup create
// 默认的备份目录在容器目录 `/var/opt/gitlab/BACkups`

注意:对于GitLab 12.1和更早版本,请使用gitlab-rake gitlab:BACkup:create。

Gitlab最佳实践 -- 安装与维护

2.2、恢复

Step1、将备份文件拷贝到容器目录 /var/opt/gitlab/BACkups。(备份和恢复的GitLab版本尽量保持一致)

Step2、停止相关数据连接服务

// 如果没有执行权限请加sudo
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

// 指定备份文件的时间戳前缀(多个备份文件)
gitlab-rake gitlab:BACkup:restore BACKUP=1570603937_2019_10_09_12.2.5
or 
gitlab-BACkup restore BACKUP=1570603937_2019_10_09_12.2.5

// 默认备份恢复(BACkups目录下只有一个备份文件时)
gitlab-rake gitlab:BACkup:restore

// 如果遇到权限问题,需要给备份文件增加权限
chmod 777 1570606338_2019_10_09_12.2.5_gitlab_BACkup.tar

Gitlab最佳实践 -- 安装与维护

Gitlab最佳实践 -- 安装与维护


Gitlab最佳实践 -- 安装与维护

Step3、重启服务

// 如果有配置文件修改,让新的配置生效
gitlab-ctl reconfigure

// 重启gitlab
gitlab-ctl start

// 检查服务
gitlab-rake gitlab:check SANITIZE=true

2.3、迁移

迁移如同备份与恢复的步骤一样,只需要将老服务器/var/opt/gitlab/BACkups目录下的备份文件拷贝到新服务器上的 /var/opt/gitlab/BACkups 即可(如果你没修改过默认备份目录的话)。但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同。比如新服务器安装的是最新的7.60版本的Gitlab。那么迁移之前,最好将老服务器的Gitlab 升级为7.60在进行备份

2.4、备份数据到AWS S3

Step1、修改配置文件/etc/gitlab/gitlab.rb

gitlab_rails['BACkup_upload_connection'] = {
  'provider' => 'AWS',
  'region' => 'eu-West-1',
  'aws_access_key_id' => 'AKIAKIAKI',
  'aws_secret_access_key' => 'secret123'
  # If using an IAM Profile, don't configure aws_access_key_id & aws_secret_access_key
  # 'use_iam_profile' => true
}
gitlab_rails['BACkup_upload_remote_directory'] = 'my.s3.bucket'

Step2、使配置文件生效

gitlab-ctl reconfigure

Step3、执行备份命令,查看备份文件是否上传s3成功

gitlab-BACkup create

Step4、从s3下载备份文件到本地(必须先安装aws-cli工具)

aws s3 cp s3://finger-test/gitlab/BACkups/1570844249_2019_10_12_12.2.5_gitlab_BACkup.tar .

@H_489_126@

2.5、自动备份

# 使用Linux系统的Crontab
crontab -e  
# 输入相应的任务
0 2 * * * docker exec -t gitlab gitlab-BACkup create

  • https://docs.gitlab.com/omnibus/docker/
  • https://docs.gitlab.com/ee/raketasks/BACkup_restore.html

如果您喜欢这篇文章,请虑关注我。

长沙DevOps联盟 - 关注容器技术,K8S,自动化部署,基础设施架构。

Gitlab最佳实践 -- 安装与维护

大佬总结

以上是大佬教程为你收集整理的Gitlab最佳实践 -- 安装与维护全部内容,希望文章能够帮你解决Gitlab最佳实践 -- 安装与维护所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: