Gitlab安装与备份恢复
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 ^$
external_url 'http://10.35.46.21:9999'
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/home/data/gitlabBackup"
gitlab_rails['backup_archive_permissions'] =
gitlab_rails['backup_keep_time'] =
git_data_dirs({
"default" => {
"path" => "/home/data/gitlabData"
}
})
重新加载配置文件
# 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
# vim /etc/gitlab/gitlab.rb
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/data/gitlab/backups" //gitlab备份目录
gitlab_rails['backup_archive_permissions'] = //生成的备份文件权限
gitlab_rails['backup_keep_time'] = //备份保留天数为3个月(即90天,这里是7776000秒) # mkdir -p /data/gitlab/backups
# chown -R git.git /data/gitlab/backups
# chmod -R /data/gitlab/backups 如上设置了gitlab备份目录路径为/data/gitlab/backups,最后使用下面命令重载gitlab配置文件,是上述修改生效!
# 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安装与备份恢复的更多相关文章
- gitlab 安装、备份与还原及常见设置
gitlab 安装.备份与还原及常见设置 安装 安装过程比较简单,跑在 docker 上,执行命令即可 -v参数后面的值为卷的名称,自动创建数据卷(如果数据卷不存在) https://docs.git ...
- 【linux】【gitlab】gitlab安装、备份、恢复、升级、内存消耗问题
前言 GitLab:GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务.功能:Gitlab 是一个提供代码托管.提交审核和问题跟踪的代码管理平 ...
- git学习------> Gitlab如何进行备份恢复与迁移?
前段时间,在某台CenterOS服务器上搭建了Gitlab环境,并且大家陆陆续续的都把代码从svn迁移到了gitlab,但是之前的CenterOS服务器并不是搭建在公司的机房环境,而是搭建在办公室的某 ...
- GitLab安装及备份迁移数据
centos7安装GitLab 下载相应版本rpm包 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ 我此处下载9.3.6版本. # w ...
- Gitlab如何进行备份恢复与迁移?
https://blog.csdn.net/ouyang_peng/article/details/77070977 1.Gitlab 创建备份 1.1 创建备份文件 首先我们得把老服务器上的Gitl ...
- gitlab之数据备份恢复
备份#备份的时候,先通知相关人员服务要听 ,停止两个服务,并影响访问 root@ubuntu:/opt/web1# gitlab-ctl stop unicorn ok: down: unicorn: ...
- centos6.5 mysql安装+远程访问+备份恢复+基本操作+卸载
参考博文: Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置 MySQL修改root密码的多种方法 MySQL的备份与还原 解决mysql导入还原时乱码的问题 ...
- Centos 8 上定时备份Gitlab ,脚本实现定时备份,备份恢复
定时备份 要求 为了能够备份和恢复,请确保你的系统上安装了Rsync yum install rsync -y 配置备份目标机器免密认证 执行ssh-keygen -t rsa 生成私钥和公钥 ssh ...
- Gitlab 安装、升级、备份、恢复、汉化等
一.Gitlab安装 1. 基于yum方式安装Gitlab 安装步骤如下 (1)配置yum源 # vim /etc/yum.repos.d/gitlab-ce.repo (2)复制如下内容并保存(注意 ...
随机推荐
- 自动化测试-13.selenium执行JS处理滚动条
前言 selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的. 这时候 ...
- scrapy中selenium的应用
引入 在通过scrapy框架进行某些网站数据爬取的时候,往往会碰到页面动态数据加载的情况发生,如果直接使用scrapy对其url发请求,是绝对获取不到那部分动态加载出来的数据值.但是通过观察我们会发现 ...
- supervisord.conf
; Sample supervisor config file.;; For more information on the config file, please see:; http://supe ...
- N阶乘尾部的0个数
N阶乘尾部的0个数 描述 设计一个算法,计算出n阶乘中尾部零的个数 思路: 1.1 * 2 * 3 * ... * n --> 1 * 2 * 3 * (2 * 2) * 5 * (2 * 3) ...
- 2分钟理解文件IO -我对文件IO的理解与实验对比
本文介绍了不同的IO方式以及他们之间的效率比较 1.一次读取写入单个字节(读取400M的文件浪费了很久,等了很久没读取完成,证明其效率很差) public class CopyFileDemo { p ...
- 无状态http协议上用户的身份认证
1.注册时可以使用手机短信验证码进行身份认证 2.用户每次请求不能每次都发送验证码,这时需要服务器给客户端颁发一个身份凭证(一般为一个唯一的随机数),用户每次请求时都携带身份凭证, 服务器会记录该身份 ...
- angularjs 的模型无法绑定到隐藏域(input hidden)
描述一下问题: 在操作表单中的隐藏域的时候发现angularjs的模型无法绑定,比如: <input type="hidden" name="someData&qu ...
- lavarel 中间件
创建中间件 php artisan make:policy UserPolicy 所有生成的授权策略文件都会被放置在 app/Policies 文件夹下. 让我们为默认生成的用户授权策略添加 upda ...
- DotNetBar中Supergrid显示树形数据
1.向窗体中拖一个Supergrid控件 2.添加列ID,NAME,MATH,CN,SEX 3.在任务窗格中勾选“Show Tree Lines”和“Show Tree Buttons” 4.添加数据 ...
- mysql 计算两点经纬度之间的距离含具体sql语句
mysql距离计算,单位m,以及排序 lon 经度 lat 纬度 一般地图上显示的坐标顺序为,纬度在前(范围-90~90),经度在后(范围-180~180) 首先新建一张表,里面包含经纬度 SET F ...