下載Gitlab
sudo docker pull gitlab/gitlab-ce:latest
啟動Gitlab
用下面的命令啟動一個默認(rèn)配置的Gitlab耳峦。如果我們只在本機(jī)測試使用的話弧蝇,將hostname替換為localhost侨把。如果需要讓外部系統(tǒng)也能訪問的話使用外網(wǎng)IP地址窗看。
docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
首次啟動可能比較慢盐固,需要等待一分鐘左右的時間屠橄。我們可以使用sudo docker ps
命令查看當(dāng)前所有Docker容器的狀態(tài)。當(dāng)它的狀態(tài)由starting變?yōu)檫\(yùn)行時間時闰挡,說明成功啟動了锐墙。我們直接使用上面配置的IP地址(如localhost
)在瀏覽器中訪問即可。
初次使用需要我們創(chuàng)建默認(rèn)管理員密碼长酗,隨便指定一個就行了溪北。然后我們需要注冊一個普通用戶。以后的使用方法和Github這樣的工具很相似了。
配置Gitlab
剛剛啟動Gitlab的時候需要我們輸入一個密碼之拨,這個密碼是管理員用戶的密碼茉继。我們在登錄那里使用root作為用戶名,然后用剛剛設(shè)置的密碼蚀乔,就可以以管理員身份登錄Gitlab烁竭。
登錄進(jìn)去之后,點(diǎn)擊右上角的齒輪圖標(biāo)吉挣,即可進(jìn)入到管理員頁面派撕。在這里我們可以設(shè)置很多東西。比如說睬魂,默認(rèn)情況下每個用戶只能創(chuàng)建10個倉庫终吼,我們可以改變這個設(shè)置。在管理員頁面點(diǎn)擊右面的齒輪氯哮,再點(diǎn)擊設(shè)置际跪,就會進(jìn)入到系統(tǒng)設(shè)置中。然后找到Default projects limit一項喉钢,我們給它設(shè)個小目標(biāo)姆打,設(shè)它一個億,這樣就相當(dāng)于無限倉庫了肠虽。當(dāng)然如果你實(shí)際硬盤滿了也就不能在創(chuàng)建更多項目了幔戏。
如果這些配置還是不能滿足你的需求的時候,還可以直接配置Gitlab舔痕。首先進(jìn)入到Docker環(huán)境中评抚。我們使用下面的命令進(jìn)入Docker環(huán)境的bash中。gitlab是剛剛指定的Gitlab名稱伯复。
sudo docker exec -it gitlab /bin/bash
然后就進(jìn)入了Docker的環(huán)境中慨代,我們可以把它當(dāng)作一個獨(dú)立的系統(tǒng)來使用。然后編輯/etc/gitlab/gitlab.rb
文件啸如,這是Gitlab的全局配置文件侍匙。所有選項都可以在這里配置。
詳細(xì)的配置方法我也不會叮雳,直接看官方文檔吧想暗。
更新Gitlab
以后如果需要更新Gitlab版本,首先需要停止并刪除當(dāng)前的Gitlab實(shí)例帘不。
nano /etc/gitlab/gitlab.rb
vi gitlab.rb
external_url "http://10.103.240.36:8080"
然后在拉取最新版的Gitlab说莫。
sudo docker stop gitlab
sudo docker rm gitlab
然后在使用上次的配置運(yùn)行Gitlab即可。不用擔(dān)心數(shù)據(jù)會丟失寞焙。只要你的volume參數(shù)指定還和上次一樣储狭,Gitlab就會自動讀取這些配置互婿。
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
最后來看看使用Docker的優(yōu)勢。還是在Gitlab的Bash中辽狈。我們依次輸入下面的命令慈参,看看有什么反應(yīng)。
ruby --version
git --version
redis-cli --version
psql --version
不出意外的話應(yīng)該會顯示對應(yīng)軟件的版本刮萌。我們看到Gitlab使用了4個開源軟件或運(yùn)行環(huán)境:ruby驮配、git、redis和postgresql着茸。如果我們手動安裝Gitlab的話壮锻,這幾個軟件也必須分別安裝和配置好。這個任務(wù)的難度可是非常大的元扔。而且如果需要在多臺機(jī)器上配置躯保,那么任務(wù)量就更大了旋膳。但是如果使用Docker的話澎语,我們甚至完全沒必要知道這幾個軟件的存在,簡單兩條命令即可創(chuàng)建和運(yùn)行Gitlab验懊。這正是Docker的魅力擅羞,難怪現(xiàn)在越來越多的公司在使用Docker。