不知道大家平時(shí)源代碼是放哪里的,我了解的是一般用戶放到github,國(guó)內(nèi)好多用戶選擇coding和碼云,但是github本來(lái)就慢,尤其是被微軟收購(gòu)了以后就更慢了,而且私有倉(cāng)庫(kù)收費(fèi)有點(diǎn)貴。國(guó)內(nèi)常用的就是coding 和碼云,coding還可以,碼云私有項(xiàng)目開(kāi)發(fā)人員不能超過(guò)5個(gè)這個(gè)限制也很惡心,也收費(fèi),交那個(gè)會(huì)員費(fèi),都可以自己買服務(wù)器搭建一個(gè)私有的git服務(wù)器了。
首選方案就是私有化本地搭建一個(gè)gitlab服務(wù),但是說(shuō)實(shí)話,這個(gè)適合大型團(tuán)隊(duì),個(gè)人開(kāi)發(fā)者不適合用,理由是:難安裝,依賴太多,如果用的話,建議用docker運(yùn)行,非常省事。但是gitlab真的是太重了,要求服務(wù)器要有4G內(nèi)存,服務(wù)器的成本是硬傷。
Gogs 和 Gitea,gitea 是gogs的一個(gè)分支衍生出來(lái)的,并且是gitea是由社區(qū)驅(qū)動(dòng)開(kāi)發(fā)的,所以更新比較頻繁,當(dāng)然gitea和gogs都是開(kāi)源的,個(gè)人推薦使用gitea。
Gitea介紹
Gitea的首要目標(biāo)是創(chuàng)建一個(gè)極易安裝,運(yùn)行非??焖?,安裝和使用體驗(yàn)良好的自建 Git 服務(wù)。我們采用Go作為后端語(yǔ)言,這使我們只要生成一個(gè)可執(zhí)行程序即可。并且他還支持跨平臺(tái),支持 Linux, macOS 和 Windows 以及各種架構(gòu),除了x86,amd64,還包括 ARM 和 PowerPC。
功能特性
支持活動(dòng)時(shí)間線
支持 SSH 以及 HTTP/HTTPS 協(xié)議
支持 SMTP、LDAP 和反向代理的用戶認(rèn)證
支持反向代理子路徑
支持用戶、組織和倉(cāng)庫(kù)管理系統(tǒng)
支持添加和刪除倉(cāng)庫(kù)協(xié)作者
支持倉(cāng)庫(kù)和組織級(jí)別 Web 鉤子(包括 Slack 集成)
支持倉(cāng)庫(kù) Git 鉤子和部署密鑰
支持倉(cāng)庫(kù)工單(Issue)、合并請(qǐng)求(Pull Request)以及 Wiki
支持遷移和鏡像倉(cāng)庫(kù)以及它的 Wiki
支持在線編輯倉(cāng)庫(kù)文件和 Wiki
支持自定義源的 Gravatar 和 Federated Avatar
支持郵件服務(wù)
支持后臺(tái)管理面板
支持 MySQL、PostgreSQL、SQLite3, MSSQL 和 TiDB(實(shí)驗(yàn)性支持) 數(shù)據(jù)庫(kù)
支持多語(yǔ)言本地化(21 種語(yǔ)言)
系統(tǒng)要求
最低的系統(tǒng)硬件要求為一個(gè)廉價(jià)的樹(shù)莓派
如果用于團(tuán)隊(duì)項(xiàng)目,建議使用 2 核 CPU 及 1GB 內(nèi)存
可以看出性價(jià)比極高,適合個(gè)人和小團(tuán)隊(duì)使用,而且有中文文檔。
搭建gitea服務(wù)
個(gè)人推薦使用docker運(yùn)行,理由是安裝省事方便,不影響宿主機(jī)。
新建gitea-dcoker.yml,利用docker-compose啟動(dòng).
version: "3"
services:
server:
container_name: gitea
image: gitea/gitea:latest
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
volumes:
- /opt/gitea/data:/data
ports:
- "3000:3000"
- "22:22"
這里一定要注意,如果你的ssh端口沒(méi)有改過(guò)的話。默認(rèn)是22,這樣會(huì)有沖突,我是把sshd的端口修改成26了,所以這塊才能用22。
然后運(yùn)行命令,啟動(dòng)gitea服務(wù)
docker-compose -f gitea-docker.yml up -d
配置NGINX(沒(méi)有域名的掉過(guò)這一步)
如果你配置域名了的話,可以用nginx代理一下,反向代理到3000端口。我這里是默認(rèn)使用轉(zhuǎn)到443端口,強(qiáng)制使用https,https的證書(shū)可以阿里云申請(qǐng)一個(gè)免費(fèi)的。
server {
listen 80;
server_name gitea.aiprose.com;
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
這里要注意,如果你要通過(guò)http提交數(shù)據(jù)比較大的時(shí)候,這種配置是提交不上去的,需要配置請(qǐng)求參數(shù)最大,或者通過(guò)ssh提交
配置Gitea
如果配置了域名的話,直接打開(kāi)域名就可以訪問(wèn)了,沒(méi)有域名的話,瀏覽器訪問(wèn) ip:3000就可以了,看到如下的界面就表示你已經(jīng)成功了。
點(diǎn)擊登錄或者注冊(cè),或讓你初始化設(shè)置,這里數(shù)據(jù)庫(kù)可以選擇,我選擇的是mysql,如果你的電腦內(nèi)存不足運(yùn)行不起來(lái),可以試試sqlite。如果使用docker的話注意數(shù)據(jù)庫(kù)的ip設(shè)置。
如果你配置了域名,就看著這個(gè),結(jié)合自己的實(shí)際情況填寫(xiě),沒(méi)有域名的直接填寫(xiě)ip+端口,也可以。
如果這里選擇設(shè)置管理員賬戶的話,會(huì)新建一個(gè)管理員,如果這里沒(méi)有新建,那么你第一個(gè)注冊(cè)的用戶就是管理員,因?yàn)閍dmin保留,用戶名不能使用admin。
如果后面還想改配置,因?yàn)槲覓燧d了卷,所以直接去修改,然后重啟一下就修改過(guò)來(lái)了。
驗(yàn)證碼也是在配置里設(shè)置開(kāi)啟的。
主題顏色可以在個(gè)人信息里修改。
如果之前用的其他的倉(cāng)庫(kù),這里可以直接把原來(lái)倉(cāng)庫(kù)的代碼直接遷移過(guò)來(lái)。
這是最后的頁(yè)面,是不看起來(lái)高大尚,因?yàn)槭怯肎O寫(xiě)的,所以很省內(nèi)存,運(yùn)行速度也很快,如果你是在內(nèi)網(wǎng)的話,快的飛起,我這里是6MB的帶寬,所以很飛快,當(dāng)然你們也可以把代碼放到我的這個(gè)倉(cāng)庫(kù)里,可以自由的創(chuàng)建組織。
組織下面可以創(chuàng)建團(tuán)隊(duì),可以用項(xiàng)目區(qū)分或者前后端技術(shù)區(qū)分
這是我們公司現(xiàn)在使用的一個(gè)內(nèi)網(wǎng)的倉(cāng)庫(kù),是按照項(xiàng)目劃分團(tuán)隊(duì)的。