
現在 Git 服務最有名的就是
Github,如果是開放原始碼,我很推薦 Github。如果是想要放大量私有專案或企業內及個人使用,想必大家會推薦
Gitlab,在這裡就不多介紹 Gitlab 了,可以從
Google 找到許多相關資料,本篇會介紹另類的 Git 自架服務選擇
Gitea,在介紹之前可以先參考我在 2014 年寫了一篇用
Go 語言開發的 Git 服務叫做 Gogs。
緣起
Gitea 是 2016 下半年由
@bkcsoft,
@lunny 和
@tboerger 及
其他開發者共同發起,從原本的
Gogs 專案在分支出來,在剛開始起來的時候,很多開發者一直詢問為什麼會有 Gitea,而不是持續開發 Gogs,於是 Gitea 官方寫了一篇文章關於
Gitea 誕生,裡面詳細介紹為什麼會有 Gitea,有興趣的可以去看看,最主要的原因就是為了讓專案可以持續發展,而不是受限於個人因素,大家都知道 Open Source 到最後最難持續的就是找到更多人來維護專案,所以 Gitea 為了避免 Issue 或 Pull Request 太久沒人處理,我們訂了一個機制,就是 PR 只要通過兩位 Reviewer 留言
LGTM
就可以直接 Merged,這也讓更多開發者願意貢獻到 Gitea。從去年 12 月到現在 2017 年 1 月,已經 Release 了兩個版本。
安裝
為了能讓 Gogs 用戶可以無痛轉換到 Gitea,我們寫了一篇
升級教學,除此之外,也提供了各種安裝方式:
Docker 安裝、
下載執行檔、
用套件、
Windows 安裝、
自行編譯 .. 等各種方式。最簡單的方式就是透過
下載執行檔,只要一個指令就可以看到歡迎畫面了
./gitea web

將來如果要升級 gitea,更是容易,你不用停掉 gitea 服務,只要下載新的檔案,覆蓋掉原有的執行檔,接著下: (其中
custom/run/app.pid
是 gitea 執行的 pid 記錄檔)
kill -USR2 $(cat custom/run/app.pid)
就可以完成升級,原本的服務也不會因此而中斷。這要感謝
Facebook 開發的
grace 套件,這套件並不支援 Windows,所以上面的升級方式不適用在 Windows 平台,不過我相信很少人會把 Git 服務架在 Windows 系統。
總結
在這邊先跟大家聊一下為什麼要選 Gitea:
- Gitea 是用 Golang 所撰寫。
- 使用介面跟 Github 很類似,如果你已經很習慣 Github,那轉換到 Gitea 一定不會很陌生。
- 安裝及升級比其他服務來得容易 (Gitlab, Bitbucket)
- 如果家中有 Raspberry Pi 硬體,你可以輕易地將 Gitea 放在上面執行
- 跨平台: Gitea 可以運作在任何 Go 能夠編譯的平台: Windows, macOS, Linux, ARM 等等
現在官方有支援
繁體中文,歡迎大家加入翻譯行列。
Related
Pingback: Gitea簡單試用 | Chris Jheng 技術學習筆記()