gerrit設置非小組成員禁止下載代碼


  對gerrit有所了解的同學,都知道gerrit 是我們常用的一個來做代碼審核的工具,其中的權限管理,是一個非常重要的環節,關於每個權限的使用范圍,可以參考博客https://blog.csdn.net/chenjh213/article/details/50571190,算是很詳細的介紹,關於其中的小組,我們有這樣的場景:代碼倉是一個很重要的代碼倉,只給指定的人員使用,其他人是不能下載查看的。這時候就涉及到了小組成員和默認權限的關系,gerrit的思想是:當默認權限和小組權限發生沖突時,以小組權限為主,也就是說,小組權限會覆蓋掉默認權限。

  我們現在有兩個組:group1包含了全公司的開發人員,比如user1、user2、user3、user4,group2包含了負責feature_repo的開發人員,比如user1、user2,當然group2的user1、user2就是group1里的user1、user2。

  需要設置feature_repo項目只給group2小組成員下載,group1里的user3、user4是不能下載的

步驟如下:

1.在people里設置小組如下:

在group1中添加全公司人員,如user1、user2、user3、user4,group2添加feature_repo的開發人員,如user1、user2,

2.然后創建兩個空的倉庫,分別叫group1,group2。其中倉庫group1試用默認權限,如下:

倉庫group2,設置權限如下:

push:設置禁止非小組人員push代碼

Read:設置非小組人員克隆代碼

3.設置feature_repo倉庫的權限時,使用group2,如下:

 

4最后非group2的人員下載feature_repo時,就下載不到代碼

成員user3,user4不在group2中,feature_repo又只允許group2的成員下載,那么user3或者user4這類非group2的人員下載feature_repo時,就下載不到代碼,效果如下:

 

顯示‘unable to checkout ’ 下載不到代碼(雖然會在本地創建一個文件下)

注意,如果倉庫代碼多的話,執行克隆代碼,前面一段時間看上去的是在顯示下載,其實只是下.git 文件夾,沒有實際下載代碼,所以依然下載不到代碼,這樣非小組成員還是看不到代碼,就是不給他看~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM