docker gitlab backup

说明:下面命令中带有<your container name>字,是 gitlab 容器的名称,请按实际情况进行代替

在创建备份之前,你不需要停止任何东西

docker exec -t <your container name> gitlab-rake gitlab:backup:create

gitlab_backup.sh content:

#! /bin/bash
case "$1" in
    start)
        docker exec -t <your container name> gitlab-rake gitlab:backup:create
        ;;
esac

嘗試腳本是否可以正常運行

gitlab_backup.sh start

將腳本放入到 /root下,並使用 sudo crontab -e 添加一下內容

0 2 * * * /root/gitlab_backup.sh start

重啟cron服務

sudo service cron reload
sudo service cron restart


进入gitlab容器:

#来自Gitlab docker外的Ubuntu主机
sudo docker exec -it <your container name> /bin/bash

查看gitlab 本地的备份路径

gitlab_rails[‘backup_path‘] 在 Gitlab 配置文件 gitlab.rb 是 注释的, 它的默认备份路径是在 /var/opt/gitlab/backups.

# 来自Gitlab Docker
[email protected]:/# cat /etc/gitlab/gitlab.rb | grep backup_path
# gitlab_rails['manage_backup_path'] = true
# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

创建一份备份

检测备份

# 来自Gitlab Docker
[email protected]:/etc/gitlab# ls -lart /var/opt/gitlab/backups

备份配置文件和 密钥文件

在上面创建备份时,没有备份 配置文件和密钥文件,这是因为上面一步是使用 使用密钥文件加密Gitlab 数据,如果你将他们保存相同的地方,你将会破坏加密过程。

所以请备份 /etc/gitlab/gitlab.rb/etc/gitlab/gitlab-secrets.json 并且将他们保存在一个其它Gitlab 备份数据的安全的地方

还原 Gitlab

你只能通过Gitlab 备份还原 一样的Gitlab版本和类型。并且你需要一个运行中的Gitlab实例。

停止一些 Gitlab 服务

# 来自Gitlab Docker

gitlab-ctl reconfigure
gitlab-ctl start
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl status
ls -lart /var/opt/gitlab/backups

开始还原

备份文件一定可以在 定义在 Gitlab 配置文件/etc/gitlab/gitlab.rbgitlab_rails[‘backup_path‘]的路径下找到

在 docker 外主机终端执行

#来自Gitlab docker外的Ubuntu主机
docker exec -it <your container name> gitlab-rake gitlab:backup:restore --trace

还原过程中会出现2次 Do you want to continue (yes/no)? 的询问操作,都输入yes之后,按Enter 回车键确认操作。

我们当然添加 BACKUP 参数来指定备份文件如果有多个备份文件在备份目录下,BACKUP参数的值是 备份文件的时间戳,比如: docker exec -it <your container name> gitlab-rake gitlab:backup:restore BACKUP=1563732042_2019_07_21_11.1.4 --trace

重启Gitlab并安全检查

使用gitlabctl restart命令重启Gitlab服务

# 来自Gitlab Docker
gitlab-ctl restart

使用gitlab-rake gitlab:check SANITIZE=true命令来发起Gitlab安全检查

# 来自Gitlab Docker
gitlab-rake gitlab:check SANITIZE=true

使用docker ps来验证 Gitlab 容器健康

#来自Gitlab docker外的Ubuntu主机
sudo docker ps

參考

  1. docker部署的GitLab代码自动备份
  2. Backup and restore Omnibus GitLab configuration
  3. Backup and restore Gitlab in docker 需要参考这个来写自己的尝试笔记

原文地址:https://www.cnblogs.com/fsong/p/11337043.html

时间: 2024-10-26 07:35:04

docker gitlab backup的相关文章

docker mongo backup 不用找啦,就在这里。

rm -rf /tmp/mongodump && mkdir /tmp/mongodumpdocker run -it --rm --link lps-mongodb:mongo -v /tmp/mongodump:/tmp mongo bash -c 'mongodump -h mongo -d menusifu -p 27017 -o /tmp'tar -zcvf aa1.tar.gz -C /tmp/mongodump *tar -zcvf aa.tar.gz /tmp/mongod

docker gitlab,redmine,etc development enviroments

sameersbn-gitlab is better more than officals sameersbn/redmine https://hub.docker.com/r/sameersbn/redmine/ 整合配置 上述工具安装部署完毕后,需要在宿主机上安装一个Nginx,然后配置域名,将docker应用跟域名做转发. 假设你的域名是example.com,那么可以给每个应用分配一个子域名. gitlab.example.com redmine.example.com maven.ex

docker gitlab安装

mkdir -p /data/docker/volumes/gitlab chmod 777 /data/docker/volumes/gitlab cd /data/docker/volumes/gitlab mkdir config mkdir logs mkdir data sudo docker run --detach --hostname gitlab.example.com --publish 4443:443 --publish 8880:80 --publish 4422:22

jenkins+docker+gitlab+harbor+pipeline快速部署发版流程

介绍随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此,传统的人工部署已经心有余而力不足.持续集成,持续部署,持续交互对于微服务开发来说,是提高团队整体效率不可或缺的一环.合理的使用CI,CD能够极大的提高了生产效率,也提高了产品的交互质量.流程梳理: 1.开发人员对上线版本在gitLab上打了一个tag2.jenkins获取tag版本.3.编写pipeli

使用Docker部署Gitlab

由于公司的代码server已使用Gitosis搭建,但由于用户和权限管理太麻烦. 如今想在原有server上再搭建Gitlab,使用Gitlab官方方法直接安装. 会导致与Gitosis冲突,使得Gitosis不可用, 由于要保持两个服务同一时候存在.所以就想到利用Docker来搭建Gitlab. 下面以Ubuntu 14.04为例安装Docker和Gitlab 安装Docker 在bash中输入命令安装最新的docker sudo apt-get purge docker.io curl -s

Docker环境下Gitlab备份和还原

说明: 项目的代码的备份是重中之重,时刻备份远程仓库代码是非常有必要的. 具体安装文档: http://yujianglei.blog.51cto.com/7215578/1725962 一.配置Gitlab自动备份,启动gitlab容器时指定一下参数   --env='GITLAB_BACKUP_DIR=/home/git/data/backups'   --env='GITLAB_BACKUPS=daily'   --env='GITLAB_BACKUP_TIME=00:00' \ 二:手动

Docker下搭建gitlab

一.GitLab简介 GitLab 是一个用于仓库管理系统的开源项目.使用Git作为代码管理工具,并在此基础上搭建起来的web服务.Github是公共的git仓库,而Gitlab适合于搭建企业内部私有git仓库 官网: https://about.gitlab.com/ https://github.com/gitlabhq/gitlabhq 截止本文创建时间,GitLab最新版本为v7.4.3 二.组件 7.4.3之前版本,镜像里包含所有组件,7.4.3版本镜像里只包含核心组件:nginx.s

通过docker安装Gitlab

初始化操作 说在前面Gitlab安装需要部署很多依赖和其他服务来协作,很麻烦.所以懒人想懒招,所以直接用Docker来部署,简单,省事,TNND还不用担心断电重启的问题! 操作系统 内核版本信息 $ uname -a 输出如下 Linux yang-PowerEdge-R730 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 安装Docker 此处使用的是阿

docker 部署的gitlab备份与恢复

gitlab的docker-compose文件 version: '3.5' services:gitlab:image: gitlab/gitlab-ce:11.7.5-ce.0 restart: always hostname: gitlab container_name: gitlab environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://192.168.10.10' gitlab_rails['gitlab_shell_ss