fbpx

OneDev : 附有 CI/CD 和看板( Kanban ) 的自我託管 Git 伺服器

這是 code.onedev.io 團隊自己開發的內部一體化 DevOps 工具,內建有問題跟蹤、看板管理, Git 管理、Pull Request 和持續整合與持續交付等功能。 簡單而強大。

主要功能特色說明 ( 翻譯自專案說明 )

開箱即用的符號( symbols )搜索和瀏覽

當然,IDE在這方面做得很好,但我們經常需要在舊的提交中進行搜尋(調查發佈版本中的問題等),而在IDE 中切換提交會很麻煩,速度也很慢。

它的工作原理是用 ANTLR 分析原始碼,逐步提取符號進行儲存,速度快,空間大。現在支援 Java、JavaScript、C、C++、CSharp、Go、PHP、Python、CSS、SCSS、LESS和R。GitHub 幾年前就增加了這個功能,但似乎只對主分支有效,而且 GitLab 必須配置 CI 工作來產生和上傳 LSIF,這很麻煩,如果每次提交都這樣做,會佔用大量空間。

在審查提交或 Pull request 時,你也可以跳到 diff 中的符號定義。

用正規表示式搜索程式碼

你可以切換到任何提交,並使用正規表示式搜索程式碼。OneDev 在引擎蓋下用 Lucene 增量來索引程式碼。在搜尋時,正規表示式中的字面三段式( tri-grams )被提取出來進行粗略的搜尋,然後在結果中進行精確匹配。這使得正則搜索的速度非常快,即使是像 Linux 這樣的大型軟體庫

用靜態分析結果註釋原始碼/差異,以方便程式碼審查

當然,GitHub上的許多第三方應用程式都可以做到這一點,但是他們在自己的應用程式上顯示結果,這使得審查活動,如在分析結果上新增註釋變得困難。更不用說,你需要為這些服務付費。

可客製化的問題狀態和欄位,與 CI/CD 深度整合

GitHub/GitLab 問題的簡單打開/關閉狀態對許多工作流程來說並不奏效。考慮到客戶提交的問題

  1. 如果開發者在提交程式碼時關閉了問題,客戶會收到通知並可能要求發佈修復該問題
  2. 如果開發者在發佈時關閉了問題,QA可能會對要測試的問題感到困惑,因為這些問題在測試時都保持開放狀態

通過可客製的問題狀態,我們可以用四種狀態來處理問題:開放、提交、測試準備和發佈。

  1. 當程式碼被提交時,問題自動轉換到提交狀態
  2. 當測試建構被建立和部署時,問題自動轉換到測試準備狀態。QA 將被通知,並可以檢查問題的細節以瞭解測試建構被部署到哪個環境
  3. 當測試通過,並且建立了一個發佈版本,提交問題的客戶將被通知,他們可以檢視問題的細節,以瞭解哪個版本包含修復

通過電子郵件建立/討論問題的服務台

服務台允許您的使用者通過電子郵件提交票據( ticket ),而不需要有一個 OneDev 帳戶。然後,這些票據可以在所需的專案中建立,並分配給您團隊中的適當成員。所有關於票據的進一步討論可以完全在電子郵件中進行,討論內容作為評論發佈到票據上。當有任何票據活動時,使用者也會收到通知,例如,當一個相關的版本被建立或部署時。

一個強大和直覺的查詢語言

再次感謝 ANTLR,OneDev 為專案、提交、問題、建構和 pull request 提供了複雜的查詢語言,具有直覺的自動完成和提示功能。例如,它使我們的客戶能夠找到他們正在執行的版本和最新的版本之間的固定問題,並使我們能夠找到由某人提交的觸及指定模組的所有提交,等等。

查詢可以被儲存和訂閱,這樣你就不會錯過任何感興趣的東西。

一個無需編寫 Yaml 的全面的 CI/CD 引擎

OneDev 帶有 GUI 來產生 CI/CD Yaml。沒有必要在 Google 上搜索 Yaml 語法。一個單行的 docker 命令來啟動 OneDev 伺服器,你就會自動擁有一個本地 CI/CD 執行器。擔心伺服器執行大量工作的能力?另一個單行程式可以從任何機器上連線自我更新的代理。想要自動擴充 CI/CD 農場?一個單行程式可以將OneDev部署到 k8 叢集。

建構管道、矩陣作業、型別化參數、參數鏈、步驟模板、建構推廣……有太多整潔的功能需要詳述。

靈活的 pull request 審查政策和審查員建議

根據作者、分支和更改的檔案來指定 pull request 的審查政策。OneDev可以利用 git 變更歷史,為觸及某些檔案的 pull request 推薦最合適的審查者。

無須 pull request 的輕量級審查

對程式碼的任何部分或差異進行評論,以開始一個輕量級的審查,而無需打開 pull request 。審查意見通過程式碼修改甚至檔案重新命名來作為文件。

每個討論都是有討論串的,所以你可以很容易地知道有新評論/更新的討論。

快速訪問功能的命令調色板

按 cmd/ctrl-k 可以從任何地方調出命令面板。搜索專案、檔案、問題、pull request 、建構和各種設定,並在不離開鍵盤的情況下跳到它們。

用智慧編輯器愉快地寫 Markdown

在 GitHub/GitLab 的 markdown 檔案中嵌入圖片時,你需要在一個單獨的頁面中上傳圖片,然後找出相對路徑來引用該圖片。有了OneDev,你只需在同一個編輯器中把圖片上傳到所需的資料夾,鏈接就會自動產生。

OneDev 在編輯視窗中追蹤你的游標,並在必要時滾動預覽視窗,這樣你就可以隨時預覽你正在輸入的內容。

按語言計算的 SLOC 趨勢

OneDev 檢查了主分支的 git 歷史,以有效地計算出按語言劃分的程式碼行的趨勢

專案層級,促進設定繼承性

組織是公共服務的理想選擇。然而,對於自我託管的內部使用,我們覺得用分層結構來組織專案更實用。子專案可以繼承父專案的設定,必要時可以有選擇地覆蓋其中的一些設定。這減少了很多管理公司大量專案的開銷。

快速和可靠的適度的資源使用

OneDev是精心設計的,考慮到了效能。用一個2核2GB的盒子,你將獲得上述所有的功能,用於中等規模的專案。它已經被密集使用了5年多,具有經過戰鬥驗證的可靠性。修復錯誤是我們的重中之重,通常在野外很少甚至沒有已知的錯誤。

專案網址

支持 Soft & Share

如果您覺得我們提供的內容服務還不錯,歡迎透過對以下產品/服務的購買投資來支持本站的營運走得更遠

如果暫時還不需要以下的付費服務,幫我們把這個網站分享給有需要的朋友,您的小小舉動會對 Soft & Share 有莫大的幫助!感謝您的支持!

🎈如果您點選優惠連結後,還是沒有看到優惠價格,麻煩您將瀏覽器的 cookie 清除 ( 清除 udemy 網站的就可以了 ),然後重新點選優惠連結就可以了

不受 FB 演算法影響,歡迎透過 e-mail 訂閱網站更新

Comments are closed.

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: