一姆坚、 前言
1、此文檔主要是在Docker上面安裝GitLab性湿,GitLab 是一個用于倉庫管理系統(tǒng)的開源項目,使用Git作為代碼管理工具满败,并在此基礎(chǔ)上搭建起來的web服務(wù)肤频。
2、GitLab是利用 Ruby on Rails 一個開源的版本管理系統(tǒng)算墨,實現(xiàn)一個自托管的Git項目倉庫宵荒,可通過Web界面進行訪問公開的或者私人項目。它擁有與Github類似的功能净嘀,能夠瀏覽源代碼报咳,管理缺陷和注釋⊥诓兀可以管理團隊對倉庫的訪問暑刃,它非常易于瀏覽提交過的版本并提供一個文件歷史庫。團隊成員可以利用內(nèi)置的簡單聊天程序(Wall)進行交流膜眠。它還提供一個代碼片段收集功能可以輕松實現(xiàn)代碼復(fù)用岩臣,便于日后有需要的時候進行查找。
3宵膨、注意:由于最近公司項目用到Docker架谎,這里也以Docker為例進行詳解,沒有Docker的童鞋們先補習(xí)一下Docker方面的知識點柄驻。
4狐树、此文章不闡述Docker安裝的過程,需要了解的同學(xué)們請參考CentOS Docker 安裝
二、Docker的簡單認(rèn)知
2.1 Docker安裝GitLab的好處
- 在docker上安裝Gitlab的好處鸿脓,由于網(wǎng)上很多活雷鋒把整個gitlab所依賴的軟件都一起打包好成鏡像(Images)抑钟,我們只需要了解些docker的簡單命令或安裝過程中修改些配置即可
2.2 Docker有哪些優(yōu)勢
Docker五大優(yōu)勢:持續(xù)集成、版本控制野哭、可移植性在塔、隔離性和安全性
-
對比傳統(tǒng)虛擬機總結(jié)
2.3、Docker 系統(tǒng)架構(gòu)
Docker 使用客戶端-服務(wù)器 (C/S) 架構(gòu)模式拨黔,使用遠程 API 來管理和創(chuàng)建 Docker 容器蛔溃。 Docker 容器通過 Docker 鏡像來創(chuàng)建。
容器與鏡像的關(guān)系類似于面向?qū)ο缶幊讨械膶ο笈c類。
3贺待、安裝前準(zhǔn)備工作
3.1 Linux版本
- 1徽曲、Linux的版本是以
Centos7
為主.命令如下:
cat /proc/version
-
2、命令輸出的結(jié)果信息
3.2 Docker版本
- 1麸塞、查看docker的版本命令
docker version
-
2 命令輸出的結(jié)果信息
3.3有哪些加速器服務(wù)進行選擇呢秃臣?
1、目前有阿里哪工、騰訊奥此、網(wǎng)易云這幾個巨頭的容器鏡像服務(wù)做得比較好,服務(wù)比較穩(wěn)定雁比,這里推薦
阿里云的容器鏡像服務(wù)
稚虎,而且阿里在國內(nèi)的技術(shù)毋庸置疑,而且經(jīng)過安裝過程中可以說比較順利偎捎,如果使用其他的話不敢保證蠢终,經(jīng)過本人嘗試,在過程中遇到docker中文社區(qū)拉下來的鏡像安裝gitlab各種報錯鸭限。-
2蜕径、阿里容器鏡像服務(wù)
阿里容器鏡像服務(wù)注意事項,如果沒有賬號的童鞋們可以通過注冊一個或者淘寶號可以登錄。
3.4加速器服務(wù)配置步驟
由于
CentOs7
安裝Docker之后是無daemon.json
文件败京,需要自己手動創(chuàng)建一個
- 1兜喻、創(chuàng)建一個目錄如下命令:
sudo mkdir -p /etc/docker
- 2、追加加速器地址到daemon.json文件里面命令:
https://xxxxxxxx.mirror.aliyuncs.com 此地址在阿里加速器服務(wù)分配的.
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]
}
EOF
- 3赡麦、重新加載daemon文件命令:
sudo systemctl daemon-reload
- 4朴皆、重啟docker服務(wù)命令:
sudo systemctl restart docker
- 5、開機自動啟動docker服務(wù)命令:
sudo systemctl enable docker
4泛粹、安裝Gitlab準(zhǔn)備工作
4.1獲取gitlab鏡像包
docker pull gitlab/gitlab-ce 這里的Community Edition (CE)表示社區(qū)標(biāo)本,
- 這里從阿里鏡像服務(wù)里面拉取gitlab鏡像有點大遂铡,需要耐心等待,下載完鏡像之后通過docker命令可以看到它的大小,可以看到它的文件有1.85G,為什么有那么大呢?因為gitlab集成了很多依賴軟件
4.2 在本機準(zhǔn)備gitlab工作目錄
mkdir -p /home/gitlab/config 創(chuàng)建config目錄
mkdir -p /home/gitlab/logs 創(chuàng)建logs目錄
mkdir -p /home/gitlab/data 創(chuàng)建data目錄
4.3 運行腳本啟動GitLab
docker run --detach \
--hostname 192.168.1.133 \
--publish 7001:443 --publish 7002:80 --publish 7003:22 \
--name gitlab --restart always \
--volume /home/gitlab/config:/etc/gitlab \
--volume /home/gitlab/logs:/var/log/gitlab \
--volume /home/gitlab/data:/var/opt/gitlab 8e28c88b6a21
- 參數(shù)說明:
參數(shù)名稱 | 參數(shù)說明 |
---|---|
detach | 指定容器運行于前臺還是后臺 |
hostname | 指定主機地址晶姊,如果有域名可以指向域名 |
publish | 指定容器暴露的端口,左邊的端口代表宿主機的端口扒接,右邊的是代表容器的端口 |
name | 給容器起一個名字, |
restart always | 總是重啟 |
volume | 數(shù)據(jù)卷们衙,在docker中是最重要的一個知識點. |
備注:
8e28c88b6a21
代表阿里云拉下的鏡像Id,這里只列舉上面腳本的參數(shù)說明钾怔,詳情請看官方文檔.
4.4 修改gitlab.rb配置文件
- 按上面的方式,gitlab容器運行沒問題蒙挑,但在gitlab上創(chuàng)建項目的時候宗侦,生成項目的URL訪問地址是按容器的hostname來生成的,也就是容器的id忆蚀。作為gitlab服務(wù)器矾利,我們需要一個固定的URL訪問地址姑裂,于是需要配置gitlab.rb(宿主機路徑:/home/gitlab/config/gitlab.rb)配置有三個參數(shù)如:
external_url 'http://192.168.1.133'
gitlab_rails['gitlab_ssh_host'] = '192.168.1.133'
gitlab_rails['gitlab_shell_ssh_port'] = 7003
注意事項:
external_url 和gitlab_rails
這兩個ip參數(shù)建議固定操作系統(tǒng)的靜態(tài)不變的IP或說是域名進行配置,假設(shè)IP變得的話在GitLab新建項目的時候男旗,生成的IP還是原來的IP舶斧,此時就無法推送代碼在Gitlab里面
4.5 進gitlab容器重啟配置服務(wù)
docker exec -it gitlab /bin/bash 進去gitlab容器的命令
gitlab-ctl reconfigure 重置gitlab客戶端的命令
-
由于我們運行是使用數(shù)據(jù)卷參數(shù)進行運行的,宿主機的gitlab.rb文件修改了剑肯,gitlab的文件會跟著改捧毛,但是容器的文件不會跟著生效,必須要進去容器里面進行命令執(zhí)行让网,重置配置文件比較耗費時間,需要耐心等待师痕,如果時間比較短說明成功率不高溃睹,而且進去容器之后就退出啦。
備注:如上信息如果出現(xiàn)了胰坟,然后等了將近一分鐘的話因篇,恭喜你在docker安裝Gitlab成功通過了.
4.6 gitlab容器命令
- docker start gitlab 啟動命令
- docker restart gitlab 重啟命令
- docker stop gitlab 停止命令
[root@localhost /]#docker restart gitlab 這里重啟容器也需要耐心等待.
4.7 檢查啟動信息
[root@localhost /]# docker ps
4.8 再查看本機端口狀態(tài)
netstat -tnl 命令
4.9 GitLab常用命令
gitlab-ctl reconfigure // 重新應(yīng)用gitlab的配置
gitlab-ctl restart // 重啟gitlab服務(wù)
gitlab-ctl status // 查看gitlab運行狀態(tài)
gitlab-ctl stop // 停止gitlab服務(wù)
gitlab-ctl tail // 查看gitlab運行日志
5、打開GiltLab
5.1打開瀏覽器
- 瀏覽器輸入http://192.168.1.133:7002笔横,如果出現(xiàn)了此界面無問題了竞滓,
由于gitlab安裝之后需要重置密碼,
5.2 GitLab主界面
6吹缔、總結(jié)與建議
1 商佑、以上問題都是根據(jù)搭建GitLab實際情況進行總結(jié)整理,除了技術(shù)問題查很多網(wǎng)上資料通過進行學(xué)習(xí)之后梳理厢塘。
2茶没、在學(xué)習(xí)過程中也遇到很多困難和疑點,如有問題或誤點晚碾,望各位老司機多多指出或者提出建議抓半。本人會采納各種好建議和正確方式不斷完善現(xiàn)況,人在成長過程中的需要優(yōu)質(zhì)的養(yǎng)料格嘁。
3笛求、希望此文章能幫助各位老鐵們更好去了解如何在Docker里面安裝GitLab,也希望自己看了此文章或者通過找資料進行手動安裝效果會更好糕簿。