不知道大家平時(shí)源代碼是放哪里的柏副,我了解的是一般用戶放到github,國內(nèi)好多用戶選擇coding和碼云蚣录,但是github本來就慢割择,尤其是被微軟收購了以后就更慢了,而且私有倉庫收費(fèi)有點(diǎn)貴萎河。國內(nèi)常用的就是coding 和碼云荔泳,coding還可以,碼云私有項(xiàng)目開發(fā)人員不能超過5個(gè)這個(gè)限制也很惡心虐杯,也收費(fèi)玛歌,交那個(gè)會員費(fèi),都可以自己買服務(wù)器搭建一個(gè)私有的git服務(wù)器了厦幅。
首選方案就是私有化本地搭建一個(gè)gitlab服務(wù)沾鳄,但是說實(shí)話,這個(gè)適合大型團(tuán)隊(duì)确憨,個(gè)人開發(fā)者不適合用,理由是:難安裝瓤的,依賴太多休弃,如果用的話,建議用docker運(yùn)行圈膏,非常省事塔猾。但是gitlab真的是太重了,要求服務(wù)器要有4G內(nèi)存稽坤,服務(wù)器的成本是硬傷丈甸。
Gogs 和 Gitea糯俗,gitea 是gogs的一個(gè)分支衍生出來的,并且是gitea是由社區(qū)驅(qū)動開發(fā)的睦擂,所以更新比較頻繁得湘,當(dāng)然gitea和gogs都是開源的,個(gè)人推薦使用gitea顿仇。
Gitea介紹
Gitea的首要目標(biāo)是創(chuàng)建一個(gè)極易安裝淘正,運(yùn)行非常快速臼闻,安裝和使用體驗(yàn)良好的自建 Git 服務(wù)鸿吆。我們采用Go作為后端語言,這使我們只要生成一個(gè)可執(zhí)行程序即可述呐。并且他還支持跨平臺惩淳,支持 Linux, macOS 和 Windows 以及各種架構(gòu),除了x86乓搬,amd64黎泣,還包括 ARM 和 PowerPC。
功能特性
支持活動時(shí)間線
支持 SSH 以及 HTTP/HTTPS 協(xié)議
支持 SMTP缤谎、LDAP 和反向代理的用戶認(rèn)證
支持反向代理子路徑
支持用戶抒倚、組織和倉庫管理系統(tǒng)
支持添加和刪除倉庫協(xié)作者
支持倉庫和組織級別 Web 鉤子(包括 Slack 集成)
支持倉庫 Git 鉤子和部署密鑰
支持倉庫工單(Issue)、合并請求(Pull Request)以及 Wiki
支持遷移和鏡像倉庫以及它的 Wiki
支持在線編輯倉庫文件和 Wiki
支持自定義源的 Gravatar 和 Federated Avatar
支持郵件服務(wù)
支持后臺管理面板
支持 MySQL坷澡、PostgreSQL托呕、SQLite3, MSSQL 和 TiDB(實(shí)驗(yàn)性支持) 數(shù)據(jù)庫
支持多語言本地化(21 種語言)
系統(tǒng)要求
最低的系統(tǒng)硬件要求為一個(gè)廉價(jià)的樹莓派
如果用于團(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啟動.
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端口沒有改過的話拗军。默認(rèn)是22任洞,這樣會有沖突,我是把sshd的端口修改成26了发侵,所以這塊才能用22交掏。
然后運(yùn)行命令,啟動gitea服務(wù)
docker-compose -f gitea-docker.yml up -d
配置NGINX(沒有域名的掉過這一步)
如果你配置域名了的話,可以用nginx代理一下刃鳄,反向代理到3000端口渊迁。我這里是默認(rèn)使用轉(zhuǎn)到443端口罢荡,強(qiáng)制使用https捍岳,https的證書可以阿里云申請一個(gè)免費(fèi)的。
server {
listen 80;
server_name gitea.aiprose.com;
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
這里要注意见秽,如果你要通過http提交數(shù)據(jù)比較大的時(shí)候,這種配置是提交不上去的讨盒,需要配置請求參數(shù)最大解取,或者通過ssh提交
配置Gitea
如果配置了域名的話,直接打開域名就可以訪問了催植,沒有域名的話肮蛹,瀏覽器訪問 ip:3000就可以了,看到如下的界面就表示你已經(jīng)成功了创南。
點(diǎn)擊登錄或者注冊伦忠,或讓你初始化設(shè)置,這里數(shù)據(jù)庫可以選擇稿辙,我選擇的是mysql昆码,如果你的電腦內(nèi)存不足運(yùn)行不起來,可以試試sqlite邻储。如果使用docker的話注意數(shù)據(jù)庫的ip設(shè)置赋咽。
如果你配置了域名,就看著這個(gè)吨娜,結(jié)合自己的實(shí)際情況填寫脓匿,沒有域名的直接填寫ip+端口,也可以宦赠。
如果這里選擇設(shè)置管理員賬戶的話陪毡,會新建一個(gè)管理員,如果這里沒有新建勾扭,那么你第一個(gè)注冊的用戶就是管理員毡琉,因?yàn)閍dmin保留,用戶名不能使用admin妙色。
如果后面還想改配置桅滋,因?yàn)槲覓燧d了卷,所以直接去修改身辨,然后重啟一下就修改過來了丐谋。
驗(yàn)證碼也是在配置里設(shè)置開啟的。
主題顏色可以在個(gè)人信息里修改栅表。
如果之前用的其他的倉庫笋鄙,這里可以直接把原來倉庫的代碼直接遷移過來。
這是最后的頁面怪瓶,是不看起來高大尚,因?yàn)槭怯肎O寫的,所以很省內(nèi)存洗贰,運(yùn)行速度也很快找岖,如果你是在內(nèi)網(wǎng)的話,快的飛起敛滋,我這里是6MB的帶寬许布,所以很飛快,當(dāng)然你們也可以把代碼放到我的這個(gè)倉庫里绎晃,可以自由的創(chuàng)建組織蜜唾。
組織下面可以創(chuàng)建團(tuán)隊(duì),可以用項(xiàng)目區(qū)分或者前后端技術(shù)區(qū)分
這是我們公司現(xiàn)在使用的一個(gè)內(nèi)網(wǎng)的倉庫庶艾,是按照項(xiàng)目劃分團(tuán)隊(duì)的袁余。