#下载gitlab
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-10.1.3-ce.0.el6.x86_64.rpm
sudo yum install -y curl policycoreutils-python openssh-server cronie
sudo lokkit -s http -s ssh
sudo yum install postfix
sudo service postfix start
sudo chkconfig postfix on
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
yum install gitlab-ce-10.1.3-ce.0.el6.x86_64.rpm
#修改配置,添加下面内容
vi /etc/gitlab/gitlab.rb
#域名修改
external_url 'http://newcode.topv.com'
#时区修改
gitlab_rails['time_zone'] = 'Asia/Shanghai'
#修改ssh默认端口
gitlab_rails['gitlab_shell_ssh_port'] = 22222
#存储路径修改
git_data_dir "/data/gitlab"
#备份路径设置
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/data/gitlab/backups"

#备份周期设置604800=7天
gitlab_rails['backup_keep_time'] = 604800
#修改访问端口
nginx['listen_port'] = 9394

#添加白名单

gitlab_rails['rack_attack_git_basic_auth'] = {
'enabled' => true,
'ip_whitelist' => ["127.0.0.1","Gitlab部署的IP地址"],
}

 

#配置启动
gitlab-ctl reconfigure
gitlab-ctl status
#会生成/data/gitlab/repositories/目录
##############################################################################
#汉化
yum install git
wget https://gitlab.com/xhang/gitlab/repository/10-1-stable/archive.zip
wget https://gitlab.com/xhang/gitlab/repository/10-1-stable-zh/archive.zip
#创建汉化git目录
mkdir gitlab-zh
cd gitlab-zh
git init
#解压第一个git包并创建分支
unzip ../gitlab-10-1-stable-e6142bc7e82cc2c6c25583f8c05cd36905ded87c.zip
mv gitlab-10-1-stable-e6142bc7e82cc2c6c25583f8c05cd36905ded87c/* .
rm -rf gitlab-10-1-stable-e6142bc7e82cc2c6c25583f8c05cd36905ded87c
git add *
git commit -m "++"
git branch  gitlab-10-1-stable
#解压第二个git包并创建分支
unzip ../gitlab-10-1-stable-zh-1219a5ae0f40121fe7243d5e74a87bd17e1adc76.zip
\cp -rp gitlab-10-1-stable-zh-1219a5ae0f40121fe7243d5e74a87bd17e1adc76/* .
rm -rf gitlab-10-1-stable-zh-1219a5ae0f40121fe7243d5e74a87bd17e1adc76
git add *
git commit -m "++"
git branch  gitlab-10-1-zh-stable
#生成补丁包
git diff gitlab-10-1-stable gitlab-10-1-zh-stable > ../10-1-stable-zh.diff
#开始汉化
patch -d /opt/gitlab/embedded/service/gitlab-rails -pl < ../10-1-stable-zh.diff
#配置汉化并重启
gitlab-ctl reconfigure
gitlab-ctl restart
##############################################################################
#迁移gitlab
#复制其他服务器上的repositories目录下所有文件到/data/gitlab/repositories/
#修改权限
chown -R git:root /data/gitlab/repositories/*
#导入
cd /var/opt/gitlab
gitlab-rake gitlab:import:repos
#导入项目后,gitlab重启访问会出现502,需要执行gitlab-rake gitlab:import:repos
##############################################################################
#任务计划备份
#备份配置文件
sh -c 'umask 0077; tar -cf $(date "+etc-gitlab-%s.tar") -C /etc/gitlab'
#备份数据文件
sudo gitlab-rake gitlab:backup:create
#加入到任务计划CRON=1没有日志,改为>/tmp/gitlab_backup.log保存日志
0 2 * * 0 git /opt/gitlab/bin/gitlab-rake gitlab:backup:create > /data/gitlab/backups/rake.log
0 2 * * 0 git cd /data/gitlab/backups;tar -cf $(date "+etc-gitlab-%s.tar") -C /etc/gitlab
##############################################################################
#恢复
sudo mv /etc/gitlab /etc/gitlab.$(date +%s)
# 将下面配置备份文件的时间戳改为你所备份的文件的时间戳
sudo tar -xf etc-gitlab-1399948539.tar -C /
# 将数据备份文件拷贝至备份目录
sudo cp 1393513186_gitlab_backup.tar /data/gitlab/backups
# 停止连接数据库的进程
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
# 恢复1393513186这个备份文件,将覆盖GitLab数据库!
sudo gitlab-rake gitlab:backup:restore BACKUP=1393513186
# 启动 GitLab
sudo gitlab-ctl start
# 检查 GitLab
sudo gitlab-rake gitlab:check SANITIZE=true
##############################################################################
#故障排查
#502
#重启服务后502
#执行
gitlab-rake gitlab:import:repos
#访问页面过程中502,执行下面查看log
gitlab-ctl tail
#修复丢失文件
#https://www.ipreferjim.com/2012/02/git-push-fatal-unable-to-read-sha1/
#https://lists.nongnu.org/archive/html/dolibarr-dev/2012-10/txtyMlY1ONYxU.txt
    #备份过程中出现error: Could not read,上传文件
    #进入该git的目录执行
    git fsck --full
    git ls-tree cd5aa220b358f2839f083b0fea5684483875aff2
    #所有版本
    git rev-list HEAD
    #查看日志历史
    git log --raw --all --full-history
    #查看文件内容
    git cat-file -p 196035e8754a0c3d3966f0bc9619f66f5c1b94ba
    #上传丢失的文件,sha-1码要一致
    git hash-object -w 196035e8754a0c3d3966f0bc9619f66f5c1b94ba

#有些损坏的并且无法找回的可以删除掉

gitlab 搭建与迁移的更多相关文章

  1. Gitlab 备份还原/迁移

    Gitlab 备份还原 备份数据:通过命令进行备份操作 gitlab-rake gitlab:backup:create ... [DISABLED] Creating backup archive: ...

  2. CentOS6.5 安装gitlab以及gitolite迁移gitlab

    CentOS6.5 安装gitlab以及gitolite迁移gitlab gitlab 的安装使用以及数据结构 安装 环境: CentOS6.5 基于 nignx + unicorn 搭建的应用环境, ...

  3. 项目案例之GitLab的数据迁移

    项目案例之GitLab的数据迁移 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方 ...

  4. 用GitLab搭建自己的私有GitHub

    相信很多技术人员都知道有个github造福开发人员的git(分布式版本管理工具)代码管理社区,可以说现在git是开发人员的必备技能之一 本周有个朋友公司需要一个类似github的代码仓库管理系统,本人 ...

  5. Jenkins+Gitlab搭建持续集成(CI)环境

    利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...

  6. GitLab搭建详细过程

    一.前提 系统:Centos 6.5 软件版本:gitlab-7.8.4 Selinux:关闭 防火墙规则:先清空(搭建好了后续自己添加相关放行规则) 二.yum源配置和相关依赖包 1.添加epel源 ...

  7. Gitlab备份与恢复、迁移与升级

    0.Gitlab安装 1.安装和配置必要的依赖关系 在CentOS7,下面的命令将在系统防火墙打开HTTP和SSH访问.   yum install curl openssh-server postf ...

  8. Gitlab备份、迁移、恢复和升级

    Gitlab备份.迁移.恢复和升级 自建的Gitlab服务器常常会因为使用时间的增长,其空间容量等硬件需求都需要升级,或者迁移至更高配置的服务器上.备份.迁移.恢复.升级过程如下 1.gitlab备份 ...

  9. Ansible+Jenkins+Gitlab搭建及配置

    Ansible+Jenkins+Gitlab搭建及配置,已经生产环境使用,运行良好. 主机组文件里面好多ip敏感信息就不写了

随机推荐

  1. Storm: 集群安装和配置

    前期准备:3台服务器: 192.168.8.94  192.168.8.95 192.168.8.96 去storm官网下载响应版本的软件包:http://storm.apache.org/downl ...

  2. phpstorm调试配置 Xdebug

    这已经楼主第二次因为phpstorm的调试配置折腾了几个小时,这次一定要记下来!!! 以Xdebug chrome浏览器为例 一:安装 JetBrains IDE Support 二:安装 Xdebu ...

  3. RSA前端加密解密

    技术交流群: 233513714 <html> <head> <title>JavaScript RSA Encryption</title> < ...

  4. python 10月30日复习

    1.把一个数字的list从小到大排序,然后写入文件,然后从文件中读取出来文件内容,然后反序,在追加到文件的下一行中 import codecs list1 = [2,23,8,54,86,12] li ...

  5. Python语法之com[1][:-7]

    strCom = com[0] + ": " + com[1][:-7] 如上应该是一个字符串合成,最后的[1][:-7],我理解是去除com[1]的最后7个字符. 比如com[0 ...

  6. 《Java程序员由笨鸟到菜鸟》

    <Java程序员由笨鸟到菜鸟> 在众多朋友的支持和鼓励下,<Java程序员由菜鸟到笨鸟>电子版终于和大家见面了.本电子书涵盖了从java基础到javaweb开放框架的大部分内容 ...

  7. python学习笔记十:异常

    一.语法 #!/usr/bin/python filename='hello' #try except finally demo try: open('abc.txt') print hello ex ...

  8. js valueOf和toString方法

    JavaScript原生提供一个Object对象,所有其他对象都继承自这个对象,Object对象有valueOf和valueOf方法,所以所有JS数据类型都继承了这两种方法.   valueOf:返回 ...

  9. Abstract Factory 抽象工厂(创建型模式)

    1.常规的对象创建方法(以更换QQ空间主题为例) (这里的常规对象指的是由于业务需求,当前实例化的对象有可能被其他相似的对象(有着共同的特性)所取代,例如更换手机铃声:一首歌取代另一首歌(词,曲,和声 ...

  10. 孤荷凌寒自学python第二十六天python的time模块的相关方法

    孤荷凌寒自学python第二十六天python的time模块的相关方法 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 要使用time模块的相关方法,必须在文件顶端引用: import tim ...