在選擇本地git服務(wù)時(shí)饺汹,通常大家都會(huì)選擇直接安裝gitlab,但是其安裝復(fù)雜痰催,占用資源多等缺點(diǎn)有點(diǎn)讓人接受不了兜辞,肯定不想一臺(tái)服務(wù)器只用來(lái)跑gitlab了,有些太浪費(fèi)夸溶。
還可以選擇直接在系統(tǒng)上安裝沒(méi)有圖形界面的git服務(wù)器逸吵,但是帶來(lái)了不易查看等缺點(diǎn)
所以筆者在這里使用了Gogs來(lái)作為自建git服務(wù)。
Gogs
安裝Docker
使用docker官方文檔里面寫(xiě)的安裝腳本我一直安裝失敗缝裁,就算添加上了dcoker官方源扫皱,安裝過(guò)程也會(huì)非常慢,還有一堆教程里讓我們使用apt-get安裝捷绑,這樣的確能安裝但是版本太老韩脑,這里給出一種安裝非常簡(jiǎn)單的方式。
使用阿里的鏡像安裝
可以使用阿里云的鏡像倉(cāng)庫(kù)下載docker-engine和docker-ce
在終端中執(zhí)行以下命令
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
接下來(lái)只要等待就好胎食,版本也相對(duì)夠新扰才。
- 查看docker版本,確認(rèn)安裝成功
在終端中輸入如下命令
sudo docker version
出現(xiàn)類似如下結(jié)果即為成功- 使用阿里倉(cāng)庫(kù)來(lái)加速你的docker
可以通過(guò)修改daemon配置文件/etc/docker/daemon.json來(lái)使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://dmmxhzvq.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
安裝Gogs
安裝Gogs有多種方式厕怜,可以自行去Gogs官網(wǎng)查看衩匣,筆者這里只介紹一下docker方式去安裝部署蕾总,github主頁(yè)也可以自行查看
步驟
- 首先拉取gogs鏡像
$ sudo docker pull gogs/gogs
- 創(chuàng)建本地目錄存放數(shù)據(jù)
$ sudo mkdir -p /var/gogs
這個(gè)目錄可以自定義
- 使用run命令綁定端口和一些配置文件
$ sudo docker run -d --name=mygogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs
注:
- 這里-d將容器跑到后臺(tái),不在當(dāng)前終端輸出
- -p用來(lái)配置外置端口和內(nèi)置端口的對(duì)應(yīng)關(guān)系琅捏,將10022轉(zhuǎn)到22端口生百,將10080轉(zhuǎn)到3000端口
- --name用來(lái)給這個(gè)容器命名,不能重名
- -v用來(lái)配置數(shù)據(jù)的對(duì)應(yīng)關(guān)系
- 想要了解更多柄延,需要系統(tǒng)的學(xué)習(xí)docker相關(guān)
配置Gogs
第一次進(jìn)入gogs會(huì)出現(xiàn)如下頁(yè)面
可以選擇使用mysql作為數(shù)據(jù)庫(kù)蚀浆,但是稍微麻煩一點(diǎn),需要在mysql配置一下授權(quán)搜吧,如果不想麻煩市俊,那可以直接使用sqlite3作為數(shù)據(jù)庫(kù),免去了配置數(shù)據(jù)庫(kù)
幾個(gè)ip很重要滤奈,可以按我給的配置來(lái)填寫(xiě)摆昧,當(dāng)然剛開(kāi)始填錯(cuò)了也可以后來(lái)在app.ini中修改。
郵件服務(wù)配置的可以自行選擇是否需要
建議不要使用內(nèi)置ssh蜒程,反正筆者試過(guò)使用內(nèi)置ssh可能出現(xiàn)權(quán)限拒絕問(wèn)題绅你,沒(méi)看到好的解決辦法。
安裝好并登錄即能出現(xiàn)如下界面
然后就可以正常使用了昭躺。
創(chuàng)建倉(cāng)庫(kù)測(cè)試使用
-
創(chuàng)建一個(gè)測(cè)試倉(cāng)庫(kù)
簡(jiǎn)單創(chuàng)建一個(gè)空倉(cāng)庫(kù)如下:
將本地的git公鑰復(fù)制到用戶設(shè)置里面的ssh秘鑰中
-
使用ssh方式將本地文件推送上去
以上忌锯,就可以正常使用了。
注:
- 如果安裝時(shí)领炫,出現(xiàn)docker進(jìn)程已運(yùn)行偶垮,但是從web頁(yè)面缺訪問(wèn)不了,可以將/var/gogs/文件夾刪除重新運(yùn)行
- 如果刪除文件還不行驹吮,推薦將創(chuàng)建的容器刪除重新創(chuàng)建
- 在配置完gogs時(shí)针史,外部無(wú)法訪問(wèn)時(shí),請(qǐng)查看防火墻碟狞,是否打開(kāi)了外部端口,本文中的配置只需要打開(kāi)10080和10022兩個(gè)端口
- 上述環(huán)境在ubuntu16.04 lts中搭建測(cè)試成功
- 上述文字皆為個(gè)人看法婚陪,如有錯(cuò)誤或建議請(qǐng)及時(shí)聯(lián)系我