gitlab10.2.2升级至10.7.2

根据生产需求需要

准备将gitlab-ce.x86_64 0:10.2.2-ce.0.el6

升级至gitlab-ce.x86_64 0:10.7.3-ce.0.el6

备注:一些基本可能用的信息

Gitlab 的yum安装配置备份环境的准备工作

我的系统是centos6.8的系统,先配置yum源:

https://mirror.tuna.tsinghua.edu.cn/help/epel/ 这里写的配置epel源比较详细我就不写了,写下gitlab的源的内容:

此步骤如果之前有添加,可忽略直接跳过,直接安装更新信息。如果使用命令更新,此步骤可以忽略

  • 新建 vim /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

如果是7就把baseurl换成这个地址就行其他都一样的:

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

https://about.gitlab.com/downloads/#centos7 官方的7安装方式 可以选择系统版本查看

添加访问的ip或者域名,修改/etc/gitlab/gitlab.rb的external_url

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

升级流程开始

登录服务器并停止gitlab服务

1.关闭gitlab服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

gitlab-ctl stop nginx

备份数据(备份以防不测)

gitlab-rake gitlab:backup:create

使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1512021935_2017_11_30_10.2.2_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中1512021935_2017_11_30是备份创建的日期10.2.2_gitlab是gitlab的版本

配置文件备份

/etc/gitlab/gitlab.rb 配置文件须备份

/var/opt/gitlab/nginx/conf nginx配置文件

/etc/postfix/main.cfpostfix 邮件配置备份

/var/opt/gitlab/backups 默认备份目录

/var/opt/gitlab/gitlab-rails/uploads/ 上传的项目图片等
/opt/gitlab/embedded/service/gitlab-rails/public/uploads软连接到

2.开始升级,

更新安装信息
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

安装升级制定版本
sudo yum install gitlab-ce-10.7.2-ce.0.el6.x86_64

如果报错,删除yum gitlab仓库 重新执行上一步

yum update gitlab-ce (升级最新版本) sudo yum install gitlab-ce-10.7.2-ce.0.el6.x86_64(升级到指定版本)

方法二 上官网下载最新版本 gitlab对应软件包 gitlab安装包官网

rpm安装

rpm -Uvh gitlab-ce-10.7.2-ce.0.el6.x86_64

升级如图

gitlab10.2.2升级至10.7.2_第1张图片
image

3升级完毕,开启服务

gitlab-ctl reconfigure #重新加载配置

gitlab-ctl start #启动服务

head -1 /opt/gitlab/version-manifest.txt 查看gitlab 版本信息

如果无需汉化 到这里升级已经结束!

如果需要汉化

获取gitlab汉化包

说明:gitlab中文社区版的项目,v7-v8.8是由Larry Li发起的“GitLab 中文社区版项目”(https://gitlab.com/larryli/gitlab),从 v8.9 之后,@xhang 开始继续该汉化项目(https://gitlab.com/xhang/gitlab)。

汉化方法1

安装git

yum install -y git

克隆汉化版本库

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

如果是要下载老版本的汉化包,需要加上老版本的分支,比如今天已经是10.0.4,我依旧想下载10.0.2,可以运行下面的语句

git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh

如果已经克隆过,则进行更新

cd gitlab

git fetch

添加获取当前版本变量

gitlab_version=$(sudo cat /opt/gitlab/embedded/service/gitlab-rails/VERSION)

生成版本的汉化补丁

停止gitlab服务

gitlab-ctl stop

切换到gitlab汉化包所在的目录(即步骤二获取的汉化版gitlab)

cd /root/gitlab

git diff v${gitlab_version} v${gitlab_version}-zh > ../${gitlab_version}-zh.diff   

(如果上面没获取版本号 手动替换修改${gitlab_version}=你的版本)

cd ../

导入汉化补丁

yum -y install patch

patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < ${gitlab_version}-zh.diff

gitlab-ctl start

汉化完成!!!!

汉化方式2

如果你没有克隆汉化包,而是从其他地方得到类似于10.7.2-zh.diff 文件

将文件上传至/root 目录

gitlab-ctl stop 停止gitlab服务

将10.7.2-zh.diff作为补丁更新到gitlab中

yum install patch -y

patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.7.2-zh.diff

gitlab-ctl start # 启动gitlab

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

汉化完成

配置邮件 有需求可以看看

gitlab_rails['smtp_enable'] = true

gitlab_rails['smtp_address'] = "onewserverdc.onewtech.com"

gitlab_rails['smtp_port'] = 25

gitlab_rails['smtp_user_name'] = "[email protected]"

gitlab_rails['smtp_password'] = "passwd"

gitlab_rails['smtp_domain'] = "onewtech.com"

gitlab_rails['smtp_authentication'] = "login"

gitlab_rails['smtp_enable_starttls_auto'] = true

gitlab_rails['gitlab_email_from'] = "[email protected]"

user["git_user_email"] = "[email protected]"

命令参考

sed -i "423 s/^# gitlab/gitlab/g" /etc/gitlab/gitlab.rb

sed -i "424 s/^# gitlab/gitlab/g" /etc/gitlab/gitlab.rb

sed -i "424 s/smtp.server/onewserver.onewtech.com/g" /etc/gitlab/gitlab.rb

sed -i "425 s/^# gitlab/gitlab/g" /etc/gitlab/gitlab.rb

sed -i "425 s/465/25/g" /etc/gitlab/gitlab.rb

sed -i "426 s/^# gitlab/gitlab/g" /etc/gitlab/gitlab.rb

sed -i "426 s/smtp user/[email protected]/g" /etc/gitlab/gitlab.rb

sed -i "427 s/^# gitlab/gitlab/g" /etc/gitlab/gitlab.rb

sed -i "427 s/smtp password/******/g" /etc/gitlab/gitlab.rb

sed -i "428 s/^# gitlab/gitlab/g" /etc/gitlab/gitlab.rb

sed -i "428 s/example.com/onewtech.com/g" /etc/gitlab/gitlab.rb

sed -i "429 s/^# gitlab/gitlab/g" /etc/gitlab/gitlab.rb

sed -i "430 s/^# gitlab/gitlab/g" /etc/gitlab/gitlab.rb

sed -i "430a gitlab_rails['gitlab_email_from'] = \"[email protected]\"" /etc/gitlab/gitlab.rb

sed -i '431a user["git_user_email"] = \"[email protected]\"' /etc/gitlab/gitlab.rb

修改仓库路径

git_data_dirs({ "default" => { "path" => "/data/gitlab-data" } })

管理命令

gitlab-ctl stop      # 停止服务

gitlab-ctl start      # 启动服务

gitlab-ctl status    # 查看服务状态

gitlab-ctl reconfigure    # 根据/etc/gitlab/gitlab.rd文件初始化

可参考资料

entos 7-gitlab

部署汉化:

http://www.cnblogs.com/straycats/p/7637373.html

升级:

http://www.cnblogs.com/straycats/p/7707359.html

本地备份:

http://www.cnblogs.com/straycats/p/7671204.html

远程备份:

http://www.cnblogs.com/straycats/p/7672692.html

迁移/恢复:

http://www.cnblogs.com/straycats/p/7702271.html

汉化地址:

https://gitlab.com/xhang/gitlab/tags

清华镜像站:

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

你可能感兴趣的:(gitlab10.2.2升级至10.7.2)