根據(jù)生產(chǎn)需求需要
準(zhǔn)備將gitlab-ce.x86_64 0:10.2.2-ce.0.el6
升級至gitlab-ce.x86_64 0:10.7.3-ce.0.el6
備注:一些基本可能用的信息
Gitlab 的yum安裝配置備份環(huán)境的準(zhǔn)備工作
我的系統(tǒng)是centos6.8的系統(tǒng),先配置yum源:
https://mirror.tuna.tsinghua.edu.cn/help/epel/ 這里寫的配置epel源比較詳細(xì)我就不寫了蛉谜,寫下gitlab的源的內(nèi)容:
此步驟如果之前有添加崇堵,可忽略直接跳過,直接安裝更新信息狰贯。如果使用命令更新赏廓,此步驟可以忽略
- 新建 vim /etc/yum.repos.d/gitlab-ce.repo,添加以下內(nèi)容:
[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換成這個(gè)地址就行其他都一樣的:
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
https://about.gitlab.com/downloads/#centos7 官方的7安裝方式 可以選擇系統(tǒng)版本查看
添加訪問的ip或者域名摸柄,修改/etc/gitlab/gitlab.rb的external_url
每次修改/etc/gitlab/gitlab.rb既忆,都要運(yùn)行g(shù)itlab-ctl reconfigure 命令嗦玖,讓配置生效
升級流程開始
登錄服務(wù)器并停止gitlab服務(wù)
1.關(guān)閉gitlab服務(wù)
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
備份數(shù)據(jù)(備份以防不測)
gitlab-rake gitlab:backup:create
使用以上命令會在/var/opt/gitlab/backups目錄下創(chuàng)建一個(gè)名稱類似為1512021935_2017_11_30_10.2.2_gitlab_backup.tar的壓縮包, 這個(gè)壓縮包就是Gitlab整個(gè)的完整部分, 其中1512021935_2017_11_30是備份創(chuàng)建的日期10.2.2_gitlab是gitlab的版本
配置文件備份
/etc/gitlab/gitlab.rb 配置文件須備份
/var/opt/gitlab/nginx/conf nginx配置文件
/etc/postfix/main.cfpostfix 郵件配置備份
/var/opt/gitlab/backups 默認(rèn)備份目錄
/var/opt/gitlab/gitlab-rails/uploads/ 上傳的項(xiàng)目圖片等
/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
如果報(bào)錯(cuò)器瘪,刪除yum gitlab倉庫 重新執(zhí)行上一步
yum update gitlab-ce (升級最新版本) sudo yum install gitlab-ce-10.7.2-ce.0.el6.x86_64(升級到指定版本)
方法二 上官網(wǎng)下載最新版本 gitlab對應(yīng)軟件包 gitlab安裝包官網(wǎng)
rpm安裝
rpm -Uvh gitlab-ce-10.7.2-ce.0.el6.x86_64
升級如圖
3升級完畢拼缝,開啟服務(wù)
gitlab-ctl reconfigure #重新加載配置
gitlab-ctl start #啟動(dòng)服務(wù)
head -1 /opt/gitlab/version-manifest.txt 查看gitlab 版本信息
如果無需漢化 到這里升級已經(jīng)結(jié)束!
如果需要漢化
獲取gitlab漢化包
說明:gitlab中文社區(qū)版的項(xiàng)目衰齐,v7-v8.8是由Larry Li發(fā)起的“GitLab 中文社區(qū)版項(xiàng)目”(https://gitlab.com/larryli/gitlab)继阻,從 v8.9 之后,@xhang 開始繼續(xù)該漢化項(xiàng)目(https://gitlab.com/xhang/gitlab)抹缕。
漢化方法1
安裝git
yum install -y git
克隆漢化版本庫
git clone https://gitlab.com/xhang/gitlab.git
如果是要下載老版本的漢化包墨辛,需要加上老版本的分支,比如今天已經(jīng)是10.0.4睹簇,我依舊想下載10.0.2,可以運(yùn)行下面的語句
git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh
如果已經(jīng)克隆過磨淌,則進(jìn)行更新
cd gitlab
git fetch
添加獲取當(dāng)前版本變量
gitlab_version=$(sudo cat /opt/gitlab/embedded/service/gitlab-rails/VERSION)
生成版本的漢化補(bǔ)丁
停止gitlab服務(wù)
gitlab-ctl stop
切換到gitlab漢化包所在的目錄(即步驟二獲取的漢化版gitlab)
cd /root/gitlab
git diff v${gitlab_version} v${gitlab_version}-zh > ../${gitlab_version}-zh.diff
(如果上面沒獲取版本號 手動(dòng)替換修改${gitlab_version}=你的版本)
cd ../
導(dǎo)入漢化補(bǔ)丁
yum -y install patch
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < ${gitlab_version}-zh.diff
gitlab-ctl start
漢化完成A褐弧0T唷!剂癌!
漢化方式2
如果你沒有克隆漢化包,而是從其他地方得到類似于10.7.2-zh.diff 文件
將文件上傳至/root 目錄
gitlab-ctl stop 停止gitlab服務(wù)
將10.7.2-zh.diff作為補(bǔ)丁更新到gitlab中
yum install patch -y
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.7.2-zh.diff
gitlab-ctl start # 啟動(dòng)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'] = "gitlab@onewtech.com"
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'] = "gitlab@onewtech.com"
user["git_user_email"] = "gitlab@onewtech.com"
命令參考
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/gitlab@onewtech.com/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'] = \"gitlab@onewtech.com\"" /etc/gitlab/gitlab.rb
sed -i '431a user["git_user_email"] = \"gitlab@onewtech.com\"' /etc/gitlab/gitlab.rb
修改倉庫路徑
git_data_dirs({ "default" => { "path" => "/data/gitlab-data" } })
管理命令
gitlab-ctl stop # 停止服務(wù)
gitlab-ctl start # 啟動(dòng)服務(wù)
gitlab-ctl status # 查看服務(wù)狀態(tài)
gitlab-ctl reconfigure # 根據(jù)/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
遠(yuǎn)程備份:
http://www.cnblogs.com/straycats/p/7672692.html
遷移/恢復(fù):
http://www.cnblogs.com/straycats/p/7702271.html
漢化地址:
https://gitlab.com/xhang/gitlab/tags
清華鏡像站: