無(wú)忌過(guò)招:手把手教你搭建自己的GitLab庫(kù)-創(chuàng)新互聯(lián)

無(wú)忌過(guò)招:手把手教你搭建自己的GitLab庫(kù)

成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元寶雞做網(wǎng)站,已為上家服務(wù),為寶雞各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

01 前言

本文Gitlab的安裝為主機(jī)方式, 獲取其他安裝方式請(qǐng)點(diǎn)擊 git.lug.ustc.edu.cn/help/instal…

02 架構(gòu)

無(wú)忌過(guò)招:手把手教你搭建自己的GitLab庫(kù)

架構(gòu)概述:

  • Unicorn: Handles requests for the web interface and API, 一般gitlab站點(diǎn),多數(shù)是因?yàn)檫@個(gè)服務(wù)有問(wèn)題導(dǎo)致的
  • Sidekiq: Background jobs processor
  • Redis: Caching service
  • PostgreSQL: Database

03 安裝

1. 設(shè)置repo

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


2. 安裝GitLab

$ yum makecache 
$ yum install gitlab-ce


3. 修改配置

配置文件/etc/gitlab/gitlab.rb注: 你可根據(jù)注釋修改配置文件,一般修改如下
external_url ' gitlab.xxxxxx.com' #改域名,修改成你自己的域名,如果你用的https,改成 gitlab.xxxxxx.com


4. 啟動(dòng)服務(wù)

$ gitlab-ctl reconfigure  ## 使配置生效 
$ gitlab-ctl status  ## 確認(rèn)服務(wù)狀態(tài)

04 如何備份

1. 設(shè)置備份目錄

先打開(kāi)/etc/gitlab/gitlab.rb配置文件,查看一個(gè)和備份相關(guān)的配置項(xiàng):
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
該項(xiàng)定義了默認(rèn)備份出文件的路徑,可以通過(guò)修改該配置,并執(zhí)行 gitlab-ctl reconfigure 或者 gitlab-ctl restart 重啟服務(wù)生效。


2. 執(zhí)行備份

備份執(zhí)行一條命令就搞定:/opt/gitlab/bin/gitlab-rake gitlab:backup:create ,也可以加到crontab中定時(shí)執(zhí)行:

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

可以到 /var/opt/gitlab/backups找到備份包,解壓查看,會(huì)發(fā)現(xiàn)備份的還是比較全面的,數(shù)據(jù)庫(kù)、repositories、build、upload等分類還是比較清晰的。


3. 備份參數(shù)注釋

每天執(zhí)行備份,肯定有目錄被爆滿的風(fēng)險(xiǎn),我們可以立馬想到的可以通過(guò)find 查找一定的時(shí)間前的文件,配合rm進(jìn)行刪除。不過(guò)不需要這么麻煩,gitlab-ce自身集成的有自動(dòng)刪除配置。
同樣打開(kāi)/etc/gitlab/gitlab.rb配置文件,可以找到如下配置:
gitlab_rails['backup_keep_time'] = 604800這里是設(shè)置備份保留7天(7360024=604800),秒為單位,如果想增大或減小,可以直接在該處配置,并通過(guò)gitlab-ctl restart 重啟服務(wù)生效。

05 GitLab遷移或數(shù)據(jù)恢復(fù)

1. 恢復(fù)前需要先停掉數(shù)據(jù)連接服務(wù):

gitlab-ctl stop unicorn 
gitlab-ctl stop sidekiq

如果是臺(tái)空主機(jī),沒(méi)有任何操作,理論上不停這兩個(gè)服務(wù)也可以。停這兩個(gè)服務(wù)是為了保證數(shù)據(jù)一致性。


2. 遷移數(shù)據(jù)

如果你沒(méi)修改過(guò)默認(rèn)備份目錄的話,將老服務(wù)器/var/opt/gitlab/backups目錄下的備份文件拷貝到新服務(wù)器上的/var/opt/gitlab/backups

[root@localhost gitlab]# scp 1530773117_2018_07_05_gitlab_backup.tar 10.0.3.111:/var/opt/gitlab/backups/   
## 600權(quán)限是無(wú)權(quán)恢復(fù)的。--- 這里改成了777 
[root@localhost backups]# pwd 
/var/opt/gitlab/backups 
[root@localhost backups]# chmod 777 1530773117_2018_07_05_gitlab_backup.tar 
[root@localhost backups]# ll 
total 17328900 
-rwxrwxrwx 1 git git 17744793600 Jul  5 14:47 1530773117_2018_07_05_gitlab_backup.tar


3. 執(zhí)行數(shù)據(jù)恢復(fù)

執(zhí)行下面的命令進(jìn)行恢復(fù):后面再輸入兩次yes就完成恢復(fù)了。

gitlab-rake gitlab:backup:restore BACKUP=1530773117_2018_07_05_gitlab_backup.tar

PS:根據(jù)版本不同恢復(fù)時(shí)可能有點(diǎn)小區(qū)別

06 附錄1 常用命令


新聞名稱:無(wú)忌過(guò)招:手把手教你搭建自己的GitLab庫(kù)-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://muchs.cn/article36/heesg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)Google、自適應(yīng)網(wǎng)站搜索引擎優(yōu)化、網(wǎng)站建設(shè)服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司