GitHub是2008年由Ruby on Rails编写而成,与业界闻名的Github类似;但要将代码上传到GitHub上面,而且将项目设为私有还要收费。GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,可通过Web界面进行访问公开的或者私人项目,非常适合在团队内部使用。

在gitlab中有三个版本,分别是CE(社区版)、EE(企业版)、OM(RPM包完整版,里面包括nginx、redis等其它软件,比较大)。

一、安装方法这里分为两种

1、官方安装说明:https://about.gitlab.com/installation/ (推荐)

将EXTERNAL_URL="http://gitlab.example.com" 修改成自己的IP或域名

# EXTERNAL_URL="http://wjoyxt.cnblogs.com" yum install -y gitlab-ee-10.7.0

2、使用清华大学开源镜像repo源一键安装:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/ 或手动下载rpm包下载: https://mirrors.tuna.tsinghua.edu.cn/

# yum install gitlab-ce 或 yum install gitlab-ee        #自动安装最新版
# yum install gitlab-ce-x.x.x                                  #安装指定版本

查看已安装的版本号:

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

按需要修改主配置文件:

# cat /etc/gitlab/gitlab.rb | grep -v ^# | grep -v ^$

  1. external_url 'http://10.35.46.21:9999'
  2. gitlab_rails['manage_backup_path'] = true
  3. gitlab_rails['backup_path'] = "/home/data/gitlabBackup"
  4. gitlab_rails['backup_archive_permissions'] =
  5. gitlab_rails['backup_keep_time'] =
  6. git_data_dirs({
  7. "default" => {
  8. "path" => "/home/data/gitlabData"
  9. }
  10. })

重新加载配置文件
# gitlab-ctl reconfigure

顺便说一下卸载:

# yum remove -y gitlab-ee

# rm -fr /opt/gitlab  /var/opt/gitlab

设置开机启动:

# systemctl enable gitlab-runsvdir.service

二、备份操作

Gitlab的备份目录路径设置,默认备份到 /var/opt/gitlab/backups

  1. # vim /etc/gitlab/gitlab.rb
  2. gitlab_rails['manage_backup_path'] = true
  3. gitlab_rails['backup_path'] = "/data/gitlab/backups" //gitlab备份目录
  4. gitlab_rails['backup_archive_permissions'] = //生成的备份文件权限
  5. gitlab_rails['backup_keep_time'] = //备份保留天数为3个月(即90天,这里是7776000秒)
  6.  
  7. # mkdir -p /data/gitlab/backups
  8. # chown -R git.git /data/gitlab/backups
  9. # chmod -R /data/gitlab/backups
  10.  
  11. 如上设置了gitlab备份目录路径为/data/gitlab/backups,最后使用下面命令重载gitlab配置文件,是上述修改生效!
  12. # gitlab-ctl reconfigure

进行手动备份:

# gitlab-rake gitlab:backup:create    产生的备份文件格式类似:  _2018_09_12_10.7.0-ee_gitlab_backup.tar

开启计划任务实现自动备份:

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

注意:环境变量CRON=1的作用是如果没有任何错误发生时, 不显示备份时的所有进度输出

三、恢复操作

1、停止相关数据连接服务
# gitlab-ctl stop unicorn
# gitlab-ctl stop sidekiq

# gitlab-ctl status  确认以上两个服务状态为:down:

2、进行恢复Gitlab的恢复操作会先将当前所有的数据清空,然后再根据备份数据进行恢复,需要指定备份文件的编号,即 _gitlab_backup.tar 前面的部分。

# gitlab-rake gitlab:backup:restore BACKUP=1536734284_2018_09_12_10.7.0-ee

3、启动gitlab

# gitlab-ctl start

四、Gitlab迁移

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

启用HTTPS方法:https://docs.gitlab.com/omnibus/settings/nginx.html#enable-https

https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#enable-https

五、Gitlab汉化

注意:进行之前先备份目录/opt/gitlab/embedded/service/gitlab-rails,用于汉化失败进行恢复

# git clone https://gitlab.com/xhang/gitlab.git

# gitlab-ctl stop

# cd gitlab ; git diff origin/10-7-stable  origin/10-7-stable-zh > 10.7.diff

# yum -y install patch

# cp -r /opt/gitlab/embedded/service/gitlab-rails{,.bak}

# patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.7.diff

# gitlab-ctl start

gitlab-runner

# gitlab-runner --help

USAGE:

gitlab-runner[global options] command [command options] [arguments...]

COMMANDS

名称

作用

exec

显示runner配置文件

list

run

运行多个runner服务

register

注册一个新的runner

install

安装服务

uninstall

卸载服务

start

启动一个服务

stop

停止一个服务

restart

重启

status

一个服务状态

run-single

运行单独的一个runner

unregister

注销特定的runner

verify

验证所有注册的runner

常用命令

说明

sudo gitlab-ctl reconfigure

重新加载配置,每次修改/etc/gitlab/gitlab.rb文件之后执行

sudo gitlab-ctl status

查看 GitLab 状态

sudo gitlab-ctl start

启动 GitLab

sudo gitlab-ctl stop

停止 GitLab

sudo gitlab-ctl restart

重启 GitLab

sudo gitlab-ctl tail

查看所有日志

sudo gitlab-ctl tail nginx/gitlab_acces.log

查看 nginx 访问日志

sudo gitlab-ctl tail postgresql

查看 postgresql 日志

参考资料: http://www.cnblogs.com/supery007/p/9053774.html

http://www.cnblogs.com/kevingrace/p/5985918.html

Gitlab安装与备份恢复的更多相关文章

  1. gitlab 安装、备份与还原及常见设置

    gitlab 安装.备份与还原及常见设置 安装 安装过程比较简单,跑在 docker 上,执行命令即可 -v参数后面的值为卷的名称,自动创建数据卷(如果数据卷不存在) https://docs.git ...

  2. 【linux】【gitlab】gitlab安装、备份、恢复、升级、内存消耗问题

    前言 GitLab:GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务.功能:Gitlab 是一个提供代码托管.提交审核和问题跟踪的代码管理平 ...

  3. git学习------> Gitlab如何进行备份恢复与迁移?

    前段时间,在某台CenterOS服务器上搭建了Gitlab环境,并且大家陆陆续续的都把代码从svn迁移到了gitlab,但是之前的CenterOS服务器并不是搭建在公司的机房环境,而是搭建在办公室的某 ...

  4. GitLab安装及备份迁移数据

    centos7安装GitLab 下载相应版本rpm包 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ 我此处下载9.3.6版本. # w ...

  5. Gitlab如何进行备份恢复与迁移?

    https://blog.csdn.net/ouyang_peng/article/details/77070977 1.Gitlab 创建备份 1.1 创建备份文件 首先我们得把老服务器上的Gitl ...

  6. gitlab之数据备份恢复

    备份#备份的时候,先通知相关人员服务要听 ,停止两个服务,并影响访问 root@ubuntu:/opt/web1# gitlab-ctl stop unicorn ok: down: unicorn: ...

  7. centos6.5 mysql安装+远程访问+备份恢复+基本操作+卸载

    参考博文: Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置 MySQL修改root密码的多种方法 MySQL的备份与还原 解决mysql导入还原时乱码的问题 ...

  8. Centos 8 上定时备份Gitlab ,脚本实现定时备份,备份恢复

    定时备份 要求 为了能够备份和恢复,请确保你的系统上安装了Rsync yum install rsync -y 配置备份目标机器免密认证 执行ssh-keygen -t rsa 生成私钥和公钥 ssh ...

  9. Gitlab 安装、升级、备份、恢复、汉化等

    一.Gitlab安装 1. 基于yum方式安装Gitlab 安装步骤如下 (1)配置yum源 # vim /etc/yum.repos.d/gitlab-ce.repo (2)复制如下内容并保存(注意 ...

随机推荐

  1. 22.一个球从100m高度自由下落,每次落地后返跳回原高度的一半,再反弹。求它在第10次落地时,共经过多少米,第10次反弹多高。

    #include <stdio.h> #include <stdlib.h> int main() { ,hn=sn/; int i; ;i<=;i++) //注意i是从 ...

  2. C++取反交换两个数的值

    int a = 1; int b = 2; cout << "a: "<< a << endl; cout << "b: ...

  3. pycharm 设置参数,快捷键

    pycharm 设置参数 当编写代码的时候出现红色下划线提示,表示有异常,此时需要导入此模块 参数设置 设置完参数之后执行一下看看效果 这里面0为脚本本身,1为刚才设置的参数hello 快捷键设置 常 ...

  4. nginx配置socket服务

    1.服务器环境:centos7.5 2.安装nginx 首先下载:wget http://nginx.org/download/nginx-1.14.0.tar.gz 解压:tar zxvf  ngi ...

  5. Power Query Advanced Editor键盘快捷键

    当你点击阅读这篇文章,第一眼看到这首图,是不是不太明白?实际上是小悦对Power BI 功能的12月更新的部分功能很有兴趣,所以今天想用这张张首图作为例,延伸测试键盘快捷键的简单应用,还真别说,确实还 ...

  6. 行高(line-height)

    line-height属性 设置元素中文本行高.

  7. Linux跨服务器发送文件

    在要发送的文件所在的目录下,输入下列命令 第一种: scp -r test.jar root@127.0.0.1:$(pwd)/test.jar 其中root为服务器账户名,127.0.0.1为要发送 ...

  8. XXS level8

    (1)查看PHP源代码 <?php ini_set("display_errors", 0); $str = strtolower($_GET["keyword&q ...

  9. PHP 框架

    LARAVEL/LUMEN,  CI  ,THINKPHP, YII ,SYMFONY YAF, PHALCON ,ICE FRAMEWORK

  10. SSM框架的配置

    主要是这三个配置文件 web.xml(用来加载和初始化下面的配置文件) applicationcontet.xml(就是Spring的配置文件,一般包括声明式失误等等AOP) Sprimgmvc,xm ...