设为首页 收藏本站
查看: 623|回复: 0

[经验分享] Linux下GitLab的快速安装以及备份

[复制链接]

尚未签到

发表于 2017-6-2 10:26:02 | 显示全部楼层 |阅读模式
源码安装 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
# 初始化,初始化完自动启动 GitLab
sudo gitlab-ctl reconfigure
在 CentOS 6上
  新建 /etc/yum.repos.d/gitlab-ce.repo,添加以下内容



[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
在 Centos7/REHL7 上



[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_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
# 初始化 GitLab
gitlab-ctl reconfigure
登录访问
  添加访问的 host,修改/etc/gitlab/gitlab.rb的external_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.git
git 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
# 停止 gitlab
gitlab-ctl stop
# 应用汉化补丁
cd /opt/gitlab/embedded/service/gitlab-rails
git apply /tmp/8.5.diff  
# 启动gitlab
gitlab-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 unicorn
gitlab-ctl stop sidekiq
# 恢复1393513186这个备份文件,将覆盖GitLab数据库!
gitlab-rake gitlab:backup:restore BACKUP=1393513186
# 启动 GitLab
gitlab-ctl start
# 检查 GitLab
gitlab-rake gitlab:check SANITIZE=true
四、持续集成(GitLab-CI)
  GitLab 从 8.0 之后就集成了GitLab-CI,所以不需要再另外安装 CI。但需要安装Runner

1.添加 Runner 安装源



# For Debian/Ubuntu
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.deb.sh | sudo bash
# For CentOS
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
  安装gitlab-ci-multi-runner



# For Debian/Ubuntu
apt-get install gitlab-ci-multi-runner
# For CentOS
yum install gitlab-ci-multi-runner
2.注册 Runner
  获取Token:以管理员身份登录GitLab,进入管理区域,点击侧边栏的Runner,如下图,“注册授权码”后的字符串便是Token。



sudo gitlab-ci-multi-runner register
Running in system-mode.
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/ci):
http://git.home.com/ci
Please enter the gitlab-ci token for this runner:
xxxx             # 输入Token
Please 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=YDPz2or3
Please enter the executor: ssh, shell, parallels, docker, docker-ssh, virtualbox:
shell
Runner 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/

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-382677-1-1.html 上篇帖子: centos7安装部署gitlab服务器 下篇帖子: Linux下GitLab的快速安装以及备份
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表