官網(wǎng)對(duì)gitlab-ce(社區(qū)版)有詳細(xì)的介紹和各種安裝方法,這里只講到如何利用 Docker 來快速安裝 gitlab-ce并部署在局域網(wǎng)
1.安裝 Docker
安裝完 docker 后會(huì)發(fā)現(xiàn)有命令行模式(Terminal)和 GUI模式(Kitematic)利耍,想挑戰(zhàn)命令行模式的同學(xué)可以參考此教程
2.創(chuàng)建gitlab-ce
打開 Kitematic,注冊登錄搜索 gitlab,gitlab-ce出現(xiàn)在第一個(gè)隘梨,點(diǎn)擊 CREATE程癌。細(xì)心的同學(xué)會(huì)發(fā)現(xiàn)其實(shí)在搜索結(jié)果里面有一個(gè) gitlab-ce-zh(漢化的 Gitlab社區(qū)版 Docker Image),這里看個(gè)人選擇了,我裝的是官方出的英文版
CREATE之后開始下載資源轴猎,時(shí)間可能有點(diǎn)長
下載完了之后大概就是這個(gè)樣子:
第一次打開會(huì) 后讓你重置密碼嵌莉,然后登錄,用戶名是 root捻脖。
這個(gè)時(shí)候只能本機(jī)訪問 gitlab锐峭,局域網(wǎng)內(nèi)的機(jī)器訪問的話需要端口映射。http://192.168.99.100:32769這個(gè)地址是 docker 虛擬的
3.安裝VirtualBox
打開VirtualBox后你會(huì)發(fā)現(xiàn)有一個(gè) default 可婶,其實(shí)就是 docker 生成的
設(shè)置-->網(wǎng)絡(luò)-->展開高級(jí)-->端口轉(zhuǎn)發(fā)--> + 新增沿癞,增加一條
設(shè)置 IP 和端口號(hào):主機(jī) IP 是設(shè)的當(dāng)前電腦的內(nèi)網(wǎng) IP,主機(jī)端口自定義矛渴,只要?jiǎng)e出現(xiàn)和其他的應(yīng)用端口號(hào)沖突就行椎扬,子系統(tǒng)端口就是 docker 虛擬的那個(gè)端口號(hào)
這里需要注意的一點(diǎn):32769 端口號(hào)要雙擊再保存下,要不然下次重新 START 就變了
現(xiàn)在可以在內(nèi)網(wǎng)任何一臺(tái)機(jī)器用新的地址http://192.168.0.130:8087/users/sign_in 來登錄 gitlab 了
4.配置gitlab.rb
如果這個(gè)時(shí)候有已經(jīng)新建了項(xiàng)目的同學(xué)具温,會(huì)發(fā)現(xiàn)你項(xiàng)目的地址是亂碼的蚕涤,并不是下面這個(gè)樣子,因?yàn)檫€沒有修改配置文件(這里的中文顯示是在Settings里面改的)铣猩。
先簡單介紹下vi/vim 的使用揖铜,后面會(huì)用到。詳細(xì)的命令大全請(qǐng)看這里,下面列舉幾條常用命令
輸入模式:
在命令模式下按下i达皿、I天吓、a、A鳞绕、o失仁、O、r和R中的某一個(gè)鍵就進(jìn)入了輸入模式们何。
在輸入模式中萄焦,可以使用以下按鍵:
字符按鍵以及Shift組合,輸入字符
ENTER冤竹,回車鍵拂封,換行
BACK SPACE,退格鍵鹦蠕,刪除光標(biāo)前一個(gè)字符
DEL冒签,刪除鍵,刪除光標(biāo)后一個(gè)字符
方向鍵钟病,在文本中移動(dòng)光標(biāo)
HOME/END萧恕,移動(dòng)光標(biāo)到行首/行尾
Page Up/Page Down刚梭,上/下翻頁
Insert,切換光標(biāo)為輸入/替換模式票唆,光標(biāo)將變成豎線/下劃線
ESC朴读,退出輸入模式,切換到命令模式vim的保存文件和退出命令:
:w —— 保存編輯后的文件內(nèi)容走趋,但不退出vim編輯器衅金。這個(gè)命令的作用是把內(nèi)存緩沖區(qū)中的數(shù)據(jù)寫到啟動(dòng)vim時(shí)指定的文件中。
:w! —— 強(qiáng)制寫文件簿煌,即強(qiáng)制覆蓋原有文件氮唯。如果原有文件的訪問權(quán)限不允許寫入文件,例如姨伟,原有的文件為只讀文件惩琉,則可使用這個(gè)命令強(qiáng)制寫入。但是授滓,這種命令用法僅當(dāng)用戶是文件的屬主時(shí)才適用琳水,而超級(jí)用戶則不受此限制。
:wq —— 保存文件內(nèi)容后退出vim編輯器般堆。這個(gè)命令的作用是把內(nèi)存緩沖區(qū)中的數(shù)據(jù)寫到啟動(dòng)vim時(shí)指定的文件中邑退,然后退出vim編輯器踏施。另外一種替代的方法是用ZZ命令讼油。
:wq! —— 強(qiáng)制保存文件內(nèi)容后退出vim編輯器矮男。這個(gè)命令的作用是把內(nèi)存緩沖區(qū)中的數(shù)據(jù)強(qiáng)制寫到啟動(dòng)vim時(shí)指定的文件中芹彬,然后退出vim編輯器鄙早。
ZZ —— 使用ZZ命令時(shí)删窒,如果文件已經(jīng)做過編輯處理舟误,則把內(nèi)存緩沖區(qū)中的數(shù)據(jù)寫到啟動(dòng)vim時(shí)指定的文件中造垛,然后退出vim編輯器魔招。否則只是退出vim而已。注意五辽,ZZ命令前面無需加冒號(hào)“:”办斑,也無需按Enter鍵。
:q —— 在未做任何編輯處理而準(zhǔn)備退出vim時(shí)杆逗,可以使用此命令乡翅。如果已做過編輯處理,則vim不允許用戶使用“:q”命令退出罪郊,同時(shí)還會(huì)輸出下列警告信息:No write since last change (:quit! overrides)
:q! —— 強(qiáng)制退出vim編輯器蠕蚜,放棄編輯處理的結(jié)果。如果確實(shí)不需要保存修改后的文件內(nèi)容悔橄,可輸入“:q!”命令靶累,強(qiáng)行退出vim編輯器腺毫。
配置文件在哪里呢,其實(shí)很好找:
- 一種方法是點(diǎn)擊左上角的 EXEC 會(huì)打開終端挣柬,
ls
到/etc/gitlab
目錄下執(zhí)行vim gitlab.rb
//找到 external_url 去掉前面的 # ,改為當(dāng)前機(jī)器的內(nèi)網(wǎng) IP潮酒,
external_url 'http://192.168.0.130'
//這個(gè)地址后面應(yīng)該是有前面用VirtualBox設(shè)置的端口號(hào)的,但是因?yàn)榧恿硕丝谔?hào)后 docker 開啟 gitlab-ce 會(huì)報(bào)錯(cuò)凛忿,所以去掉了
- 第二種是點(diǎn)擊 /etc/gitlab 出現(xiàn)彈窗點(diǎn) Enable Volumes 澈灼,打開 gitlab.rb,最好用開發(fā)工具打開店溢,不要用文本編輯叁熔。但是非常不建議使用這種方式,會(huì)出現(xiàn)意想不到的問題床牧。
修改的時(shí)候找到你的修改項(xiàng)去掉前面的 # 再修改保存
找到 external_url 改為當(dāng)前機(jī)器的內(nèi)網(wǎng) IP:
external_url 'http://192.168.0.130'
這個(gè)地址后面應(yīng)該是有前面用VirtualBox設(shè)置的端口號(hào)的荣回,但是因?yàn)榧恿硕丝谔?hào)后 docker 開啟 gitlab-ce 會(huì)報(bào)錯(cuò),所以去掉了
創(chuàng)建項(xiàng)目成功之后clone的時(shí)候需要在http鏈接中的IP地址后面加上用VirtualBox設(shè)置的端口號(hào)戈咳,例如:
http://192.168.0.130/root/introduce.git
使用的時(shí)候應(yīng)改為:
http://192.168.0.130:8087/root/introduce.git
5.最后
放一個(gè) Admin Area 界面
- 關(guān)于開啟郵件服務(wù)心软,試了幾次不怎么好使,就沒用它著蛙。管理員可以開啟sign up功能讓用戶自己注冊删铃;也可以自己New user然后再Edit修改密碼
- 關(guān)于 SSH 協(xié)議,看了網(wǎng)上的教程改了幾次 gitlab.rb沒成功??踏堡,準(zhǔn)備再試試