Gitlab快速上手(安装定时备份还原)

简介

      GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

安装

#  拉取下镜像

        使用Docker安装Gitlab汉化版本  :

                docker pull twang2218/gitlab-ce-zh  

               验证:docker image 查找下有没有twang2218/gitlab-ce-zh 

#  使用Docker-compose快速安装

        1、创建编写下 docker-compose.yml配置文件(文件名可自己取)

```

version: "3"

services:

  gitlab:

    image: 'twang2218/gitlab-ce-zh:latest'

    container_name: "docker-gitlab"

    restart: always

    privileged: true

    hostname: 'xxx.xxx.xxx.xxx'

    environment:

      TZ: 'Asia/Shanghai'

      GITLAB_OMNIBUS_CONFIG: |

        external_url "http://xxx.xxx.xxx.xxx:9090"

        gitlab_rails['gitlab_shell_ssh_port'] = 10022

        gitlab_rails['time_zone'] = 'Asia/Shanghai'

    ports:

      - '9090:9090'

      - '10443:443'

      - '10022:22'

    volumes:

      - '/opt/docker-gitlab/config:/etc/gitlab'

      - '/opt/docker-gitlab/data:/var/opt/gitlab'

      - '/opt/docker-gitlab/logs:/var/log/gitlab'

```

        上面的yml是示例,具体请跟您的需要更改container_name(容器名)xxx.xxx.xxx.xxx指的要部署服务的IP名,ports(端口)请先检查下要用的端口有没被占用,volumes(软链接)推荐加入软链接后续找备份文件及配置文件更改多比较方便,具体改成您需要的目录地址

    2、创建启动容器

            进入docker-compose.yml配置文件的位置

            执行  docker-compose up -d

            验证:docker-compose ps 查看下刚才有没创建容器成功

    3、访问地址

            看您刚才设置的IP名和端口是啥,如上面案例的话就访问:

                http://xxx.xxx.xxx.xxx:9090

                首次打开时,需要设置用密码。默认用户名为root。


定时备份

        按照上面的步骤,是不是很简单就完成Gitlab的搭建,接下来我们需要为Gitlab做定时备份,防止数据误删或者服务器重启Gitlab挂了等原因。

            Gitlab备份:把仓库代码打包成XXXXX.tar的压缩包,我们在gitlab容器里面调用gitlab-rake gitlab:backup:create来实现备份

            Gitlab还原:就是把备份的包给它还原回去勒,我们在gitlab容器里面调用gitlab-rake gitlab:backup:restore BACKUP=备份文件编号 来实现还原

            定时备份:就是设置个时间去执行备份代码,通过Linux的crontab命令去执行

        为了更方便使用,我们直接写xx.sh文件,放入要执行的备份的代码,然后在crontab调用这个xx.sh文件

       创建auto_backup.sh文件 

```

#! /bin/bash

docker exec docker-gitlab gitlab-rake gitlab:backup:create

```

       auto_backup.sh文件包含两步操作:1.进入docker-gitlab容器 2.执行备份

        验证:先给这个文件加个操作权限,然后验证下auto_backup.sh有没执行。

                    稍等会去看下备份目录下有没有xxx.rar。

                    gitlab的备份目录默认在/var/opt/gitlab/backups,但我们创建docker-compose.yml配置文做了volumes: - '/opt/docker-gitlab/data:/var/opt/gitlab',所以也可以在'/opt/docker-gitlab/data下的backups去看下有没xxx.rar。如果有的话说明成功,接下去只要做定时就完事了。

```    

chmod 777 /opt/auto_backup.sh

/opt/auto_backup.sh

```


        定时:

           执行 crontab -e,输入00 20 * * * /opt/auto_backup.sh,/opt/auto_backup.sh指刚才穿件auto_backup.sh的文件为置,设置每天晚上8点自动备份,具体时间可以修改参照crontab具体写法

```

crontab -e

00 20 * * * /opt/auto_backup.sh

```

你可能感兴趣的:(Gitlab快速上手(安装定时备份还原))