博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux下GitLab的快速安装以及备份
阅读量:7204 次
发布时间:2019-06-29

本文共 4723 字,大约阅读时间需要 15 分钟。

源码安装 GitLab 步骤繁琐:需要安装依赖包,Mysql,Redis,Postfix,Ruby,Nginx……安装完毕还得一个个手动配置这些软件,容易出错

一、安装

在Ubuntu 14上

修改/etc/apt/sources.list.d/gitlab-ce.list,添加以下行

deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/debian jessie main

开始安装:

# 安装依赖包sudo apt-get install curl openssh-server ca-certificates postfix# 安装 GitLab 社区版apt-get install gitlab-ce# 初始化,初始化完自动启动 GitLabsudo gitlab-ctl reconfigure

在 CentOS 6上

新建 /etc/yum.repos.d/gitlab-ce.repo,添加以下内容

[gitlab-ce]name=gitlab-cebaseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6repo_gpgcheck=0gpgcheck=0enabled=1gpgkey=https://packages.gitlab.com/gpg.key

在 Centos7/REHL7 上

[gitlab-ce]name=gitlab-cebaseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7repo_gpgcheck=0 gpgcheck=0 enabled=1 gpgkey=https://packages.gitlab.com/gpg.key

安装步骤:

# 安装依赖包yum install curl openssh-server openssh-clients postfix cronie# 启动 postfix 邮件服务service postfix start# 检查 postfix chkconfig postfix on# 安装 GitLab 社区版yum install gitlab-ce# 初始化 GitLabgitlab-ctl reconfigure

登录访问

添加访问的 host,修改/etc/gitlab/gitlab.rbexternal_url

external_url 'http://git.test.com'

每次修改/etc/gitlab/gitlab.rb,都要运行以下命令,让配置生效

gitlab-ctl reconfigure

在浏览器打开网址http://git.test.com,登陆。默认管理员:

用户名: root

密码: 5iveL!fe

二、安装中文语言包(汉化)

以下汉化步骤参考,首先确认当前安装版本

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

当前安装版本是8.5.7,因此中文补丁需要打8.5版本

克隆 GitLab 源码仓库:

# 克隆 GitLab.com 仓库git clone https://gitlab.com/larryli/gitlab.git#或 Gitcafe.com 镜像,速度更快git clone https://gitcafe.com/larryli/gitlab.gitgit clone https://git.coding.net/larryli/gitlab.git

运行汉化补丁:

# 8.5 版本的汉化补丁(8-5-stable是英文稳定版,8-5-zh是中文版,两个 diff 结果便是汉化补丁)git diff origin/8-5-stable..8-5-zh > /tmp/8.5.diff# 停止 gitlabgitlab-ctl stop# 应用汉化补丁cd /opt/gitlab/embedded/service/gitlab-railsgit apply /tmp/8.5.diff  # 启动gitlabgitlab-ctl start

至此,汉化完毕

gitlab 8.8版本

git diff origin/8-8-stable origin/8-8-zh > /tmp/8.8.diff 

三、备份

配置文件含密码等敏感信息,不要和数据备份文件放在一起

sh -c 'umask 0077; tar -cf $(date "+etc-gitlab-%s.tar") -C /etc/gitlab'

默认数据备份目录是/var/opt/gitlab/backups,手动创建备份文件:

# Omnibus 方式安装使用以下命令备份gitlab-rake gitlab:backup:create

日常备份,添加 crontab,运行crontab -e

# 每天2点执行备份0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

如要修改备份周期和目录,在/etc/gitlab/gitlab.rb中修改以下两个选项

# 设置备份周期为7天 - 604800秒gitlab_rails['backup_keep_time'] = 604800# 备份目录gitlab_rails['backup_path'] = '/mnt/backups'

恢复之前,确保备份文件所安装 GitLab 和当前要恢复的 GitLab 版本一致。首先,恢复配置文件:

mv /etc/gitlab /etc/gitlab.$(date +%s)# 将下面配置备份文件的时间戳改为你所备份的文件的时间戳tar -xf etc-gitlab-1399948539.tar -C /

恢复数据文件

# 将数据备份文件拷贝至备份目录cp 1393513186_gitlab_backup.tar /var/opt/gitlab/backups/# 停止连接数据库的进程gitlab-ctl stop unicorngitlab-ctl stop sidekiq# 恢复1393513186这个备份文件,将覆盖GitLab数据库!gitlab-rake gitlab:backup:restore BACKUP=1393513186# 启动 GitLabgitlab-ctl start# 检查 GitLabgitlab-rake gitlab:check SANITIZE=true

四、持续集成(GitLab-CI)

GitLab 从 8.0 之后就集成了GitLab-CI,所以不需要再另外安装 CI。但需要安装Runner

1.添加 Runner 安装源

# For Debian/Ubuntucurl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.deb.sh | sudo bash# For CentOScurl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash

安装gitlab-ci-multi-runner

# For Debian/Ubuntuapt-get install gitlab-ci-multi-runner# For CentOSyum install gitlab-ci-multi-runner

2.注册 Runner

获取Token:以管理员身份登录GitLab,进入管理区域,点击侧边栏的Runner,如下图,“注册授权码”后的字符串便是Token。

sudo gitlab-ci-multi-runner registerRunning in system-mode.Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/ci):http://git.home.com/ciPlease enter the gitlab-ci token for this runner:xxxx             # 输入TokenPlease enter the gitlab-ci description for this runner:[xxy-web-test-02]: test-runner  # 输入runner的名称Please enter the gitlab-ci tags for this runner (comma separated):test,php         # 输入runner的标签,以区分不同的runner,标签间逗号分隔Registering runner... succeeded                     runner=YDPz2or3Please enter the executor: ssh, shell, parallels, docker, docker-ssh, virtualbox:shellRunner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

注册完成便可在上图中查看你所注册的Runner。至此,所有安装完毕,Runner的构建,后续补充。

centos添加gitlab-ce.repo后,需要执行sudo yum makecache

 

参考文章

http://serverfault.com/questions/683196/502-gitlab-is-not-responding-after-change-username

http://skyao.github.io/2015/02/16/git-gitlab-setup/

https://gitlab.com/gitlab-org/omnibus-gitlab/issues/148

http://blog.csdn.net/wangxicoding/article/details/43738137

http://stackoverflow.com/questions/27816046/gitlab-is-not-responding-502-on-ubuntu-14-04-after-starting-server

http://www.cnblogs.com/jasondan/p/4056669.html

http://www.open-open.com/lib/view/open1399684894447.html

http://www.jianshu.com/p/7a0d6917e009

https://xuanwo.org/2016/04/13/gitlab-install-intro/

你可能感兴趣的文章
Logic-算法-XX部队XX侦察队员
查看>>
海量数据(数据量比较大时)的处理分析
查看>>
printf 规定数据输出方式
查看>>
Facebook Graph API(2)--读取数据之picture
查看>>
使用分析服务多维模式建立简单的分析模型
查看>>
Oracle Real Application Testing diagram
查看>>
IoC容器Autofac(2) - 一个简单示例(附demo源码)
查看>>
桥接模式 - 设计模式学习
查看>>
Google Maps Android API v2 (2)- 地图对象
查看>>
MySQL 5.5 手册下载
查看>>
hdu 1300(dp)
查看>>
POJ 1159 - Palindrome 优化空间LCS
查看>>
CH BR8(小学生放假了-clock()/CLOCKS_PER_SEC-斜率优化常错集锦)
查看>>
N!末尾有多少个零
查看>>
【优先队列】HDU 1873——看病找医生
查看>>
SQL 时间处理
查看>>
HF Reader
查看>>
eclipse项目中关于导入的项目里提示HttpServletRequest 不能引用的解决办法
查看>>
Css 常用属性
查看>>
GRIDVIEW多行多列合并单元格(合并列)
查看>>