分享幾個開源的Git服務(wù)端項(xiàng)目,助你搭建自己的Git代碼托管服務(wù)器
為了方便管理我們的代碼,這時候,需要有一個代碼托管服務(wù)器,現(xiàn)在,免費(fèi)、可直接用的有Gitee和Github。公司的代碼,是需要保密的,放在別人的倉庫里面,肯定是不放心,這時候,我們需要自己搭建代碼服務(wù)器,在Git之前,大家可能用SVN和VSS會多一點(diǎn)?,F(xiàn)在,大家都比較喜歡用Git來托管自己的代碼。這里,就分享幾個開源的Git服務(wù)端項(xiàng)目。
Gitlab
Gitlab基于Ruby on Rails構(gòu)建,功能強(qiáng)大。有開源并免費(fèi)的GitLab CE版本,很多公司都是用的它。軟件所需環(huán)境
.
Ubuntu/Debian/CentOS/RHEL/OpenSUSE
. Ruby (MRI) 3.0.5
. Git 2.33+
. Redis 5.0+
. PostgreSQL 12+
官方推薦最低配置是4核4G。
代碼地址:https://github.com/gitlabhq/gitlabhq.git
Gogs
Gogs是使用G語言開發(fā)的100% 開源并可無條件免費(fèi)使用的項(xiàng)目。所有的源代碼均通過 MIT 授權(quán)協(xié)議 托管在 GitHub 上.任何 Go 語言 支持的平臺都可以運(yùn)行 Gogs,包括 Windows、Mac、Linux 以及 ARM。一個廉價的樹莓派的配置足以滿足 Gogs 的最低系統(tǒng)硬件要求。有些用戶甚至還將 Gogs 運(yùn)行在 NAS 設(shè)備上。
主要特性:
. 控制面板、用戶頁面以及活動時間線
. 通過 SSH、HTTP 和 HTTPS 協(xié)議操作倉庫
. 管理用戶、組織和倉庫
. 倉庫和組織級 Webhook,包括 Slack、Discord 和釘釘
. 倉庫 Git 鉤子、部署密鑰和 Git LFS
. 倉庫工單(Issue)、合并請求(Pull Request)、Wiki、保護(hù)分支和多人協(xié)作
. 從其它代碼平臺遷移和鏡像倉庫以及 Wiki
. 在線編輯倉庫文件和 Wiki
. Jupyter Notebook 和 PDF 的渲染
. 通過 SMTP、LDAP、反向代理、GitHub.com 和 GitHub 企業(yè)版進(jìn)行用戶認(rèn)證
. 開啟兩步驗(yàn)證(2FA)登錄
. 自定義 HTML 模板、靜態(tài)文件和許多其它組件
. 多樣的數(shù)據(jù)庫后端,包括 PostgreSQL、MySQL、SQLite3 和 TiDB
. 超過 31 種語言的本地化
代碼地址:https://github.com/gogs/gogs.git
Gitea
Gitea的從Gogs Fork而來,Gitea的首要目標(biāo)是創(chuàng)建一個極易安裝,運(yùn)行非??焖?,安裝和使用體驗(yàn)良好的自建 Git 服務(wù)。我們采用Go作為后端語言,這使我們只要生成一個可執(zhí)行程序即可。并且他還支持跨平臺,支持 Linux, macOS 和 Windows 以及各種架構(gòu),除了x86,amd64,還包括 ARM 和 PowerPC。
功能特性:
. 支持活動時間線
. 支持 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(MySQL) 數(shù)據(jù)庫
. 支持多語言本地化(21 種語言)
. 支持軟件包注冊中心(Composer/Conan/Container/Generic/Helm/Maven/NPM/Nuget/PyPI/RubyGems)
系統(tǒng)要求:
. 最低的系統(tǒng)硬件要求為一個廉價的樹莓派
. 如果用于團(tuán)隊(duì)項(xiàng)目,建議使用 2 核 CPU 及 1GB 內(nèi)存
代碼地址:https://github.com/go-gitea/gitea.git
OneDev
OneDev是使用Java基于MIT 協(xié)議進(jìn)行開源的Git Server項(xiàng)目。
代碼地址:https://github.com/theonedev/onedev.git
CodeFever
CodeFever Community 由蒲公英團(tuán)隊(duì)完整自主研發(fā)并基于 MIT 協(xié)議進(jìn)行完整開源,且免費(fèi)開放,所有源代碼通過 MIT 授權(quán)協(xié)議均托管在 GitHub 上,擁有完全自主的知識產(chǎn)權(quán),因此您可以放心使用而不必考慮是否侵犯他人權(quán)利。任何 PHP 語言支持的平臺都可以運(yùn)行 Codefever Community,包括 Windows、Mac、Linux 以及 ARM。
功能特性:
. 永久免費(fèi): 永久免費(fèi)提供給大家使用,您無需擔(dān)心付費(fèi)
. 完整開源: 毫無保留的完整開源,無任何編譯或加密代碼
. 輕量安裝: 極簡設(shè)計風(fēng)格,排除重度冗余的多余功能
. 性能高效: 速度極快,對服務(wù)器資源要求極低,1核CPU/1G內(nèi)存即可運(yùn)行
. 無限倉庫: 沒有任何倉庫數(shù)量、使用數(shù)量的限制
. 代碼對比: 支持提交代碼的不同版本支持高亮顯示對比
. 分支管理: 完整支持 Git 原生分支和 Tag,幫助更清晰的管理代碼
. 合并請求(Merge Request): 支持多人協(xié)作,讓代碼版本控制更順暢
. 分支保護(hù): 分支保護(hù)功能讓代碼提交安全可控,代碼 Review 更容易清晰
. 多人協(xié)作: 支持多人團(tuán)隊(duì)協(xié)作,并可以設(shè)置每個成員的角色和權(quán)限
. Webhook: 支持Webhook功能,可輕松和其他系統(tǒng)進(jìn)行集成
. 管理后臺: 支持超級管理員后臺,可以讓團(tuán)隊(duì)leader管理所有項(xiàng)目和用戶信息
. 中英雙語: 原生支持中文和英文兩種語言
代碼地址:https://github.com/PGYER/codefever.git
gitolite
gitolite 是一個非常輕量級的 git 代碼托管方案,只能控制權(quán)限,沒有 Pull Request/Issue 等功能。
代碼地址:https://github.com/sitaramc/gitolite.git
除了上面分享的這幾個開源的項(xiàng)目外,還有一些其他的免費(fèi)工具,大家可以根據(jù)自己的情況選擇合理的選擇相應(yīng)的工具,快速構(gòu)建自己的Git代碼托管中心。