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