公司內部Jenkins項目太多,不同的項目組與開發測試人員要有不同項目的權限。系統自帶的矩陣管理不太適合,這里使用Role-based Authorization Strategy插件,使不同的賬號有不同的權限,不同的項目。
本次試驗的目的是:開發AB兩組人員,登錄自己的jenkins賬號,只可以看到自己項目組的任務,並有創建,刪除,修改,run的權限。
1.安裝Role-based Authorization Strategy插件,安裝后重啟jenkins。
2.啟用Role-based Authorization Strategy
系統管理—Configure Global Security—授權策略—Role-Based Strategy
開啟授權策略后,可以在系統管理看到Manage and Assign Roles菜單。
Manage and Assign Roles菜單分為Manage Roles和Assign Roles
Manage Roles:創建角色
1.Global roles全局角色
a.必須創建一個admin角色,把所有的權限都給他。
b.創建一個user角色,要以下權限Overall下的read,JOB下create的。
2.Project roles 項目角色
添加2個項目角色,這里為了以后運維方便,使用通配符匹配項目。A組人員的項目以A開頭,他們自己創建項目必須以A開頭,如不以A開頭,可以創建出新項目,但是他們會看不到,因為他們的項目權限只匹配了A開頭的項目。B組人員同理。
Assign Roles: 分配角色
一共2個user,user1對應A組人員,user2對應B組人員。
全局角色:這里對應的Overall 的read權限。(必須要,否則看不到任何東西)
項目角色:這里分配匹配到GROUPA和GROUPB.
驗證:先登錄admin用戶,可以看到全部項目。
user1登錄,應該只能看到A組項目,並對A組項目有管理權限。
可以創建A開頭的項目,如果不是A開頭的,也可以完成創建,就是后面看不到。我們嘗試創建一下A1002和B1002。應該是可以看到A1002,B1002在user2下才能看到。
user2登錄:應該可以看到三個項目。
總結:這樣管理jenkins,給開發的權限比較大,他們可以自己維護和新建項目,大大減少了運維的雜事,如果想控制的在嚴格一點,在項目角色哪里,每個項目都建立角色。人員權限也可以分開發和測試等。