根據(jù)生產(chǎ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)境的準備工作
我的系統(tǒng)是centos6.8的系統(tǒng)族吻,先配置yum源:
https://mirror.tuna.tsinghua.edu.cn/help/epel/ 這里寫的配置epel源比較詳細我就不寫了棕叫,寫下gitlab的源的內(nèi)容:
新建 /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換成這個地址就行其他都一樣的:
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,都要運行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)建一個名稱類似為1512021935_2017_11_30_10.2.2_gitlab_backup.tar的壓縮包, 這個壓縮包就是Gitlab整個的完整部分, 其中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 郵件配置備份
2.開始升級蜓氨,
2.1開啟服務(wù)
gitlab-ce start curl-shttps://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh| sudo bash
yum update gitlab-ce (升級最新版本) ??yum - install?gitlab-ce-10.7.2 (升級到指定版本)
# 方法二 上官網(wǎng)下載最新版本 gitlab對應(yīng)軟件包 [gitlab官網(wǎng)](https://packages.gitlab.com/gitlab/gitlab-ce)
使用 ? rpm -Uvh gitlab-ce-10.7.2-ce.0.el6.x86_64
升級如圖
4 升級完畢后??再開啟服務(wù)
gitlab-ctl reconfigure ? #重新加載配置
gitlab-ctl start ? ? ? ? ? ? ? #啟動服務(wù)
#head -1 /opt/gitlab/version-manifest.txt ?查看gitlab 版本信息
如果無需漢化 到這里升級已經(jīng)結(jié)束队伟!
如果需要漢化
獲取gitlab漢化包
說明:gitlab中文社區(qū)版的項目穴吹,v7-v8.8是由Larry Li發(fā)起的“GitLab 中文社區(qū)版項目”(https://gitlab.com/larryli/gitlab),從 v8.9 之后嗜侮,@xhang 開始繼續(xù)該漢化項目(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,可以運行下面的語句
git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh
# 如果已經(jīng)克隆過击吱,則進行更新 目前位置為家目錄
cd gitlab
git fetch
# 獲取當前版本
gitlab_version=$(sudo cat /opt/gitlab/embedded/service/gitlab-rails/VERSION)
# 生成版本的漢化補丁
停止gitlab服務(wù)
gitlab-ctl stop
?切換到gitlab漢化包所在的目錄(即步驟二獲取的漢化版gitlab)?
cd /root/gitlab
git diff v${gitlab_version} v${gitlab_version}-zh > ../${gitlab_version}-zh.diff ??
(如果上面沒獲取版本號 手動替換修改${gitlab_version}=你的版本)
cd ../
# 導(dǎo)入漢化補丁
yum -y install patch
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < ${gitlab_version}-zh.diff
gitlab-ctl start
漢化完成A艿怼!8泊肌朵纷!
漢化方式2
如果你沒有克隆漢化包,而是從其他地方得到類似于10.7.2-zh.diff 文件
將文件上傳至/root 目錄
gitlab-ctl stop ? 停止gitlab服務(wù)
將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'] = "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? ? ? # 啟動服務(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
遠程備份:
http://www.cnblogs.com/straycats/p/7672692.html
遷移/恢復(fù):
http://www.cnblogs.com/straycats/p/7702271.html
漢化地址:
https://gitlab.com/xhang/gitlab/tags
清華鏡像站:
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/