有沒有工具,這使得拉請求和組合評論防呆和安全的混帳?這個基於評論的Git工作流可以被Gerrit強制執行嗎?
我知道有幾個相關的問題已經在github上提出過了(參見:Using git for Code Reviews,Online Code Review Tool with Git Integration)。
在前面的問題中提出的解決方案具有很好的接口,但是在訪問控制方面它們會失敗。我們公司太小,不能強迫一個人審查代碼或有專門的維護人員。因此,我們正在尋找一種工具來確保(或至少鼓勵)代碼在被推送到我們的中央存儲庫之前進行審查。
注意事項:絕對用戶訪問控制不是必需的,因爲我們通常信任我們的員工。但是,我們希望禁止直接推送到我們的中央存儲庫,而不會限制推送給單個人的權限。
這樣的工具(或工具和腳本的組合)應至少實現這些任務:在web界面上顯示
- 化妝引入請求。 (gerrit達到這一點)
- 中央存儲庫鏈接到該工具,以便只讀訪問是可能的,但推送至少需要另一個人來檢查和確認更改集。
- 負責審查和確認的人員可以是開發團隊中的任意人員。
- 該工具必須自動檢測(並拒絕)導致合併衝突的請求。
- 它不應該使用已知可以改變提交的SHA1哈希的git函數。
我提出這個解決方案:
- 使用格里特的拉請求和審查處理。
- gerrit應該始終擁有主人的克隆。
- 對於每個請求,gerrit檢查這些補丁是否適用於沒有衝突的主機(這將是一個腳本鉤子,我不知道gerrit是否具有這些特性)。
- 中央存儲庫由具有shell訪問權的特權用戶(此處名爲
gerrit
)擁有,並通過http公開。 - 每當其他人查看代碼時,Web界面中都會有一個應用按鈕,它會自動將更改推送到中央存儲庫。
不幸的是,我不知道gerrit和文檔是稀缺的。有沒有可能在gerrit中實現這個工作流程?是否有另一種工具可以滿足這些要求?
你的購物清單應該用gerrit覆蓋。安裝並使用它,它並不瘋狂。 – 2012-07-10 20:01:50
我只是建議讓jenkins標誌在gerrit中構建爲'看起來不錯',這樣您就可以確保它編譯/通過測試/無論您的構建指標如何。 – 2012-07-10 20:02:36
@honk:啊謝謝你!到目前爲止,我並沒有考慮持續整合。 – Alex 2012-07-10 20:04:06