Git快速入門(mén)(06)搭建企業(yè)私有Git服務(wù)-Gitlab

前面我們討論了git的四種通信協(xié)議和自己手動(dòng)創(chuàng)建私服的方式,雖然利用通信協(xié)議可以自己手動(dòng)搭建公共倉(cāng)庫(kù),但是開(kāi)發(fā)中不建議這么做洲鸠,因?yàn)榇罱ㄒ粋€(gè)成熟的git源碼私服組件不是一件簡(jiǎn)單的事,我們?cè)诠箔h(huán)境中常用的github赁温,gitlab坛怪,碼云等,都是頁(yè)面美觀功能豐富的公有倉(cāng)庫(kù)股囊,構(gòu)建這樣一個(gè)私服不亞于一個(gè)大型項(xiàng)目袜匿,而版本控制系統(tǒng)在我們的開(kāi)發(fā)中只是一個(gè)工具,并不值得花這種功夫≈烧睿現(xiàn)在有很多開(kāi)源的Git私服軟件可以供我們使用居灯,讓我們可以安裝在自己的服務(wù)器中,使數(shù)據(jù)私有化内狗,比如最經(jīng)典的gitlab怪嫌,和輕量級(jí)的gogs(推薦),下面先來(lái)介紹一下gitlab的安裝柳沙。


相信大家都使用過(guò)github岩灭,gitlab與github類(lèi)似,GitLab是由GitLabInc.開(kāi)發(fā)赂鲤,使用MIT許可證的基于網(wǎng)絡(luò)Git倉(cāng)庫(kù)管理工具噪径,且具有wiki和issue跟蹤功能。使用Git作為代碼管理工具数初,并在此基礎(chǔ)上搭建起來(lái)的web服務(wù)找爱。最初,該產(chǎn)品命名為GitLab泡孩,是完全免費(fèi)的開(kāi)源軟件车摄,按照MIT許可證分發(fā)。2013年7月,產(chǎn)品被拆分為:GitLabCE(社區(qū)版)和GitLabEE(企業(yè)版)吮播,當(dāng)時(shí)变屁,GitLabCE和GitLabEE的許可仍然是根據(jù)MIT許可分發(fā)的免費(fèi)和開(kāi)源軟件。下面演示一下如何安裝gitlab社區(qū)版薄料。首先需要在服務(wù)器上安裝好git敞贡。


安裝好git后泵琳,接下來(lái)配置好環(huán)境:

sudo yum install -y curl policycoreutils-python openssh-server cronie

sudo lokkit -s http -s ssh

安裝郵件服務(wù):

sudo yum install postfix

修改myhostname和mydomain摄职,去掉myhostname和mydomain的注釋?zhuān)?/p>

vim /etc/postfix/main.cf

然后執(zhí)行:

sudo service postfix start

sudo chkconfig postfix on

接下來(lái)的安裝可以分為兩種,一種是在線安裝获列,一種是離線安裝谷市,在線安裝命令簡(jiǎn)單,但是安裝速度慢击孩,離線安裝需要下載自己想要安裝的版本迫悠,這里推薦離線安裝,版本穩(wěn)定巩梢,以后的重裝和數(shù)據(jù)備份恢復(fù)都很穩(wěn)定创泄。





在線安裝

添加gitlab社區(qū)版庫(kù):

curl??https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh| sudo bash

下一步,安裝gitlab包括蝠。改變`http://gitlab.example.com`的URL鞠抑,修改為自己制定的域名。安裝將自動(dòng)配置和URL開(kāi)始gitlab忌警。HTTPS需要在安裝后附加配置:

sudo EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlab-ce

這一步會(huì)下載時(shí)間長(zhǎng)些搁拙,安裝完成后,啟動(dòng):

gitlab-ctl reconfigure

啟動(dòng)完后法绵,在瀏覽器登錄箕速,輸入域名,默認(rèn)使用80端口朋譬,會(huì)進(jìn)入密碼重置頁(yè)面盐茎,輸入新的密碼,輸入完提交以后徙赢,會(huì)進(jìn)入登錄頁(yè)面字柠,用戶(hù)名為 root,然后輸入密碼可以進(jìn)入gitlab私服的首頁(yè)犀忱!







離線安裝

離線安裝需要下載離線包募谎,下載地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/,比如我們下載10版本中最后一個(gè)版本:

我的個(gè)人云盤(pán)提取地址:鏈接:https://pan.baidu.com/s/1wBcCtDj1191BvKubiXLeqQ? ?提取碼:hkae


下載完后阴汇,直接放到服務(wù)器上面数冬,然后執(zhí)行下面的命令,其中的域名按自己實(shí)際情況調(diào)整:

sudo EXTERNAL_URL="http://gitlab.example.com" rpm -i?gitlab-ce-10.8.7-ce.0.el7.x86_64.rpm

安裝完成后,執(zhí)行啟動(dòng)命令:

gitlab-ctl reconfigure

這樣離線安裝就完成了拐纱,離線安裝好處很多铜异,可以固定的使用同一個(gè)版本,安裝包只需要下載一次秸架,同版本恢復(fù)數(shù)據(jù)比不同版本要簡(jiǎn)單的多揍庄,所以推薦使用離線安裝。







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

數(shù)據(jù)備份命令:

gitlab-rake gitlab:backup:create

默認(rèn)情況下东抹,gitlab的備份數(shù)據(jù)會(huì)放在? ?/var/opt/gitlab/backups? 文件夾下面蚂子,打包成tar文件,

如果要修改默認(rèn)的數(shù)據(jù)備份文件缭黔,需要修改gitlab的配置文件:

vim??/etc/gitlab/gitlab.rb

放開(kāi)注釋?zhuān)瑢?xiě)上自己的目錄即可食茎。備份功能可以配合Linux的定時(shí)任務(wù),每天做項(xiàng)目數(shù)據(jù)的定時(shí)備份馏谨。








數(shù)據(jù)恢復(fù)

我們的gitlab如果不幸掛了别渔,沒(méi)關(guān)系,安裝同一個(gè)版本的gitlab惧互,然后可以通過(guò)備份數(shù)據(jù)把項(xiàng)目徹底恢復(fù)哎媚。如果我們不小心刪除了一個(gè)重要的項(xiàng)目,也可以通過(guò)數(shù)據(jù)恢復(fù)找回來(lái)喊儡。注意拨与,GItlab只能還原到與備份文件相同的gitlab版本。

下面開(kāi)始數(shù)據(jù)恢復(fù)管宵,首先截珍,停止相關(guān)數(shù)據(jù)連接服務(wù):

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

gitlab-ctl status


下一步,通過(guò)之前的備份文件進(jìn)行恢復(fù)(必須要備份文件放到備份路徑下箩朴,這里備份路徑使用系統(tǒng)默認(rèn)的岗喉,默認(rèn)的是/var/opt/gitlab/backups,備份文件名為:1562922212_2019_07_12_11.9.9_gitlab_backup.tar):

cd??/var/opt/gitlab/backups

gitlab-rake gitlab:backup:restore BACKUP=1562922212_2019_07_12_11.9.9

注意輸入的文件名字要輸入??_gitlab_backup.tar 簽名的內(nèi)容炸庞。

恢復(fù)數(shù)據(jù)完成后钱床,再次啟動(dòng)gitlab,

gitlab-ctl start

恢復(fù)命令完成后埠居,可以check檢查一下恢復(fù)情況:

gitlab-rake gitlab:check SANITIZE=true

然后稍等一會(huì)(如果啟動(dòng)gitlab后查牌,訪問(wèn)出現(xiàn)500,這是因?yàn)閞edis等程序還沒(méi)完全啟動(dòng)滥壕,等一會(huì)兒訪問(wèn)就ok了)纸颜,再次登錄Gitlab,就會(huì)發(fā)現(xiàn)之前誤刪除的項(xiàng)目已經(jīng)恢復(fù)了绎橘!



另外:Gitlab遷移與恢復(fù)一樣胁孙,但是要求兩個(gè)GitLab版本號(hào)一致

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子涮较,更是在濱河造成了極大的恐慌稠鼻,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狂票,死亡現(xiàn)場(chǎng)離奇詭異候齿,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)闺属,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)慌盯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人屋剑,你說(shuō)我怎么就攤上這事润匙∈#” “怎么了唉匾?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)匠楚。 經(jīng)常有香客問(wèn)我巍膘,道長(zhǎng),這世上最難降的妖魔是什么芋簿? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任峡懈,我火速辦了婚禮,結(jié)果婚禮上与斤,老公的妹妹穿的比我還像新娘肪康。我一直安慰自己,他們只是感情好撩穿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布磷支。 她就那樣靜靜地躺著,像睡著了一般食寡。 火紅的嫁衣襯著肌膚如雪雾狈。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,679評(píng)論 1 305
  • 那天抵皱,我揣著相機(jī)與錄音善榛,去河邊找鬼。 笑死呻畸,一個(gè)胖子當(dāng)著我的面吹牛移盆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播伤为,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼咒循,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起剑鞍,我...
    開(kāi)封第一講書(shū)人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤昨凡,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后蚁署,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體便脊,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年光戈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了哪痰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡久妆,死狀恐怖晌杰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情筷弦,我是刑警寧澤肋演,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站烂琴,受9級(jí)特大地震影響爹殊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜奸绷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一梗夸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧号醉,春花似錦反症、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至父虑,卻和暖如春该酗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背士嚎。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工呜魄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人莱衩。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓爵嗅,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親笨蚁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子睹晒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

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