如何 DIY 自己的 Git 託管項目?——別怕,我有 Pagure!
Pagure 是一個用 Python 編寫的新的、功能齊全的、提供 Web 服務的 Git 倉庫。它類似於 Github 和 Gitlab ,同時允許開源貢獻者分享彼此的資源,實現代碼和內容上的合作。順便說一句, Pagure 法語譯為「寄居蟹」,在項目文本的 LOGO 上容易發現這一點哦。
Pagure 是 Fedora Engineering 團隊成員—— Pierre-Yves Chibon 的心血結晶。 Fedora Engineering 團隊專註於基於 Python 的解決方案,因為 Python 簡單易學,從而降低了貢獻者的入門門檻。因此 Pagure 不僅提供了項目託管服務,同時也鼓勵新人維護並改進這個服務。
Facebook 、 Google 等公司已經表明: Python 是可以做到高性能的。 Pagure 也不例外,它給 Web 用戶提供了不錯的體驗。你可以看到數十個高度活躍的項目已經被託管到 Pagure 上了,當然 Pagure 本身的代碼也託管到上面。
Pagure 的功能
Pagure 提供了類似 Git 程序提供的很多功能:
- 用戶,群組,項目庫和克隆服務的自助創建。
- 支持 HTTPS 和 SSH 訪問代碼倉庫。
- 支持多認證登錄,可以通過 Pagure 像 Ipsilon 這樣提供 OpenID 的外部認證登錄。所以你可以鏈接 Pagure 到 LDAP 、系統賬號或者其他的賬戶。
- pull 請求基於工作流,有完整的討論和評價。
- Web 介面提供文本編輯器。
- 能夠執行 signoffs 和對 pull 請求進行評價打分。
- 問題跟蹤,文檔和版本管理。
- 對倉庫活動提供郵件提醒服務。
- 支持不同 Pagure 實例的同步。
- 完全的自由、免費。
- 還有......很多很多.......
不僅如此,Pagure 在內部還提供以下額外的功能:
- 所以的問題和 pull 請求的追蹤元數據是作為側倉庫來提供可追蹤性和可移植性的。
- Web 文件夾和項目在線管理中將文檔作為側倉庫進行管理。
- 每個項目可以選擇完全可擴展的 web-hooks 系統。
託管自己的 Git 項目
Pagure 擁有允許用戶建立自己的託管服務項目的能力。這項服務是低開銷的並依賴於其他自由軟體的,這些自由軟體你可以在 Fedora 和其他發行版中找到。該項目文檔可以幫助你開始部署 Pagure ,你可以使用普通工具從基於 RPM 的發行版中安裝或者使用源碼部署 Pagure ,兩種方法文檔中都提供了。
Pagure 已經在 Fedora 中用於生產幾個月了。然而,一個重要的里程碑才剛剛出現:1.0版本的發布。第一個主要版本提供了全新的用戶界面。感謝 Fedora Engineering 團隊的設計師( Ryan Lerch )進行的全新設計。
Pagure 的使用方式同 Github 等同類系統沒有太大的區別。Pagure 假設項目是協作的,所以它們沒有命名空間。拷貝,卻在另一方面是存在命名空間的,這使得上游的倉庫清楚明了。雖然拷貝一個上游倉庫的方法有些不同。但是 pull 請求的方法是相同的。因此其它 Git 系統的用戶立刻上手 Pagure 是沒有問題的。
Pagure 的未來
Pagure 的發展仍在繼續,很多人都在進行修復和完善。未來可能會添加以下的一些功能:
- 自定義主題。
- 同步如 Github 等其它服務商倉庫。
- 支持個人項目的命名空間。
- 支持如 Mailman 3 之類的郵件列表。
對有一點 Python 基礎的人來說,Pagure 的代碼是十分容易理解的。貢獻者歡迎大家查看問題清單並參與到項目中。為了修復一個 bug ,你可以拷貝 Pagure 的代碼,克隆到自己的倉庫中,提交和推送修復補丁,並提交一個 Pagure 的 pull 請求。
Linux Story 溫馨提示:詳細信息請點擊原文查看
原文鏈接:https://fedoramagazine.org/pagure-diy-git-project-hosting/
本文鏈接:http://www.linuxstory.org/pagure-diy-git-project-hosting/
轉載請註明,否則將追究相關責任。
不錯
嗯,不錯