GitLab維護(hù)指南

GitLab安裝和升級(jí)

1.gitlab-ce安裝

這里使用的環(huán)境是Ubantu 16.04 LTS,注意gitlab-ce 鏡像僅支持 x86-64 架構(gòu)中燥。我們使用的清華大學(xué)開源軟件鏡像站提供的版本叛本,國(guó)內(nèi)站點(diǎn)速度很快。

首先信任 GitLab 的 GPG 公鑰:

curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null

把軟件源配置寫進(jìn) /etc/apt/sources.list.d/gitlab-ce.list

deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main

安裝 gitlab-ce:

sudo apt-get update
sudo apt-get install gitlab-ce

如果是centOS抑淫,那么信任軟件源需要新建 /etc/yum.repos.d/gitlab-ce.repo胳搞,內(nèi)容為:

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

然后進(jìn)行安裝:

sudo yum makecache
sudo yum install gitlab-ce

如果需要指定版本安裝:

# 查看可用版本
yum list gitlab-ce  --showduplicates| sort  -r 

# 安裝指定版本
yum -y install docker-ce-17.06.0.ce

配置生效啟動(dòng)服務(wù):

gitlab-ctl reconfigure
gitlab-ctl restart

2.版本升級(jí)

升級(jí)需要先關(guān)閉部分服務(wù):

gitlab-ctl stop unicorn 
gitlab-ctl stop sidekiq 
gitlab-ctl stop nginx

升級(jí)命令與安裝命令相同

sudo apt-get update
sudo apt-get install gitlab-ce

然后重置配置和服務(wù)重啟

gitlab-ctl reconfigure
gitlab-ctl restart

服務(wù)器遷移

1.備份數(shù)據(jù)

首先備份原GIT服務(wù)器數(shù)據(jù)

gitlab-rake gitlab:backup:create RAILS_ENV=production 

注:默認(rèn)備份后文件一般位于/var/opt/gitlab/backups/卸例,文件名類似:1513578325_2017_12_18_gitlab_backup.tar

然后備份配置文件:

/etc/gitlab/gitlab.rb  #配置文件須備份

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

/etc/postfix/main.cfpostfix #郵件配置備份

2.復(fù)制備份文件到新服務(wù)器

使用遠(yuǎn)程拷貝命令復(fù)制文件到新的服務(wù)器

scp /var/opt/gitlab/backups/1513578325_2017_12_18_gitlab_backup.tar username@src_ip:/var/opt/gitlab/backups

3.新GitLab服務(wù)數(shù)據(jù)恢復(fù)

注意:需要保證新服務(wù)器的版本與舊服務(wù)器一致
查詢版本:

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

執(zhí)行命令進(jìn)行數(shù)據(jù)恢復(fù):

#cd /var/opt/gitlab/backups
#gitlab-rake gitlab:backup:restore BACKUP=備份文件編號(hào)
#gitlab-rake gitlab:backup:restore BACKUP=1502357536_2019_04_14_11.9.8

注:BACKUP的時(shí)間點(diǎn)必須與原服務(wù)器備份后的文件名一致

4.重啟服務(wù)檢測(cè)數(shù)據(jù)恢復(fù)情況

sudo gitlab-ctl restart
sudo gitlab-rake gitlab:check SANITIZE=true

如果check命令出現(xiàn)錯(cuò)誤称杨,說明備份的GitLab服務(wù)和新的GitLab服務(wù)版本不匹配,請(qǐng)安裝正確的版本

修改服務(wù)端口號(hào)

修改nginx端口:

sudo vi /etc/gitlab/gitlab.rb
nginx['listen_port'] = 8081

sudo vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
server {
 
  listen *:8081;

修改unicorn端口:

sudo vi /etc/gitlab/gitlab.rb
unicorn['port'] = 3648
sudo vi /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
listen "127.0.0.1:3648", :tcp_nopush => true

保存配置筷转,重啟:

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-ctl status

修改默認(rèn)端口號(hào)后出現(xiàn)502問題恢復(fù)列另,可能是權(quán)限問題,嘗試以下命令來解決:

# chmod -R 777 /var/log/gitlab
# gitlab-ctl tail unicorn

修改HTTP連接方式中的IP和端口

修改gitlab.yml文件

cd /opt/gitlab/embedded/service/gitlab-rails/config
vim gitlab.yml

修改host和port

host:要修改的IP
port:要修改的端口

重啟gitlab

gitlab-ctl restart

郵件通知功能設(shè)置

為郵件通知功能配置smtp服務(wù)和發(fā)件郵箱:

vim  /etc/gitlab/gitlab.rb

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.ym.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "xxuser@163.com"
gitlab_rails['smtp_password'] = "xxpassword"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true

gitlab_rails['gitlab_email_from'] = "xxuser@163.com"
user["git_user_email"] = "xxuser@163.com"

重置配置:

sudo gitlab-ctl reconfigure

如有問題可以查看日志:

gitlab-ctl tail

使用gitlab-rails console測(cè)試郵件功能:

username@hostname$ gitlab-rails console

username@hostname$ Notify.test_email('xxxxx@xxx.com','Message Subject','message Body').deliver_now

常見問題

1.頁面500問題解決

在升級(jí)過后旦装,或者恢復(fù)配置之后页衙,對(duì)項(xiàng)目進(jìn)行刪除修改等操作會(huì)出現(xiàn)失敗,報(bào)500阴绢,這是因?yàn)樯?jí)造成gitlab數(shù)據(jù)庫中token參數(shù)錯(cuò)誤店乐,需要重置,方法入下呻袭, 對(duì)指定id的項(xiàng)目將token設(shè)置為null

root@gitserver:/etc/gitlab# sudo gitlab-rails dbconsole
psql (9.6.11)
Type "help" for help.

gitlabhq_production=> UPDATE projects SET runners_token = null, runners_token_encrypted = null WHERE id = 5 ;
UPDATE 1

2.升級(jí)500問題錯(cuò)誤

前面高興的太早眨八,訪問GitLab發(fā)現(xiàn)報(bào)500錯(cuò)誤,觀察log得知大意為DB數(shù)據(jù)關(guān)系錯(cuò)誤左电,需要升級(jí)數(shù)據(jù)庫關(guān)系

輸入以下指令查看數(shù)據(jù)升級(jí)狀態(tài)

sudo gitlab-rake db:migrate:status

果然發(fā)現(xiàn)有一些顯示為Down廉侧,顯示為Up即表示正常同,再執(zhí)行數(shù)據(jù)庫關(guān)系升級(jí)

sudo gitlab-rake db:migrate

執(zhí)行完成再重復(fù)重建篓足、重啟命令段誊,問題解決

3.配置加載阻塞:

安裝過程中執(zhí)行g(shù)itlab-ctl reconfigure,出現(xiàn)長(zhǎng)時(shí)間卡住的情況:

運(yùn)行:sudo systemctl restart gitlab-runsvdir栈拖;

再次執(zhí)行:sudo gitlab-ctl reconfigure

4.修改注冊(cè)權(quán)限問題報(bào)500:

https://gitlab.com/gitlab-org/gitlab-ce/issues/56403

參考文章:

https://www.cnblogs.com/TechSnail/p/7745459.html

https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/

http://www.reibang.com/p/dfcfd5a66b8b

https://blog.csdn.net/liuruiqun/article/details/50000213

http://www.reibang.com/p/5df942809cea

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末连舍,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子涩哟,更是在濱河造成了極大的恐慌索赏,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贴彼,死亡現(xiàn)場(chǎng)離奇詭異潜腻,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)器仗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門融涣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人青灼,你說我怎么就攤上這事暴心。” “怎么了杂拨?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)悯衬。 經(jīng)常有香客問我弹沽,道長(zhǎng)檀夹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任策橘,我火速辦了婚禮炸渡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘丽已。我一直安慰自己蚌堵,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布沛婴。 她就那樣靜靜地躺著吼畏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嘁灯。 梳的紋絲不亂的頭發(fā)上泻蚊,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天,我揣著相機(jī)與錄音丑婿,去河邊找鬼性雄。 笑死,一個(gè)胖子當(dāng)著我的面吹牛羹奉,可吹牛的內(nèi)容都是我干的秒旋。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼诀拭,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼滩褥!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起炫加,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤瑰煎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后俗孝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酒甸,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年赋铝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了插勤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡革骨,死狀恐怖农尖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情良哲,我是刑警寧澤盛卡,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站筑凫,受9級(jí)特大地震影響滑沧,放射性物質(zhì)發(fā)生泄漏并村。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一滓技、第九天 我趴在偏房一處隱蔽的房頂上張望哩牍。 院中可真熱鬧,春花似錦令漂、人聲如沸膝昆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽荚孵。三九已至,卻和暖如春挠唆,著一層夾襖步出監(jiān)牢的瞬間处窥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工玄组, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留滔驾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓俄讹,卻偏偏與公主長(zhǎng)得像哆致,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子患膛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容