標籤:jenkins項目許可權分配和管理
在Jenkins中,如果你希望不同組的建立的job只對改組內的成員可見,怎麼實現呢?正常情況下,每個使用者登入Jenkins都能看到所有的JOB,那麼如果分組管理JOB呢?
我們可以利用Role-based Authorization Strategy外掛程式實現這一需求。
1、安裝Role-based Authorization Strategy外掛程式
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/80/8A/wKioL1dD7Kywqns3AALxTUSK9to668.png" title="1.png" alt="wKioL1dD7Kywqns3AALxTUSK9to668.png" />
2、配置授權策略
系統管理==>Configure Global Security==>存取控制==>授權策略==>選擇“Role-Based Strategy”
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/80/8C/wKiom1dD7MKDwsdJAAHwRcUJrC8447.png" title="2.png" alt="wKiom1dD7MKDwsdJAAHwRcUJrC8447.png" />
3、建立使用者
我這裡建立了4個使用者,teamamanager、teamamember、teambmanager、teambmember。
teamamanager為Team A的專案管理人員,teamamember為Team A的開發人員
teambmanager、teambmember分別為Team B的專案管理人員和開發人員。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/80/8C/wKiom1dD72XgKefwAAGoLN4JLjY840.png" title="3.png" alt="wKiom1dD72XgKefwAAGoLN4JLjY840.png" />
3、配置Roles和授權
系統管理>>Manage and Assign Roles>>Manage Roles
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/80/8B/wKioL1dD8PfjJrGIAABl69DnrNE103.png" style="float:none;" title="4.png" alt="wKioL1dD8PfjJrGIAABl69DnrNE103.png" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/80/8D/wKiom1dD8AaCEmx7AAEKomWkmdA530.png" style="float:none;" title="5.png" alt="wKiom1dD8AaCEmx7AAEKomWkmdA530.png" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/80/8C/wKioL1dD9DLhVXl0AAgfcOTYPB8162.png" title="6.png" alt="wKioL1dD9DLhVXl0AAgfcOTYPB8162.png" />
返回上一個頁面,進入Assign Roles進行配置
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/80/8C/wKioL1dD9I6RvyfVAAD5A1lQA6Q179.png" title="7.png" alt="wKioL1dD9I6RvyfVAAD5A1lQA6Q179.png" />
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/80/8C/wKioL1dD9bHikeKNAAPtQkJoAks763.png" title="8.png" alt="wKioL1dD9bHikeKNAAPtQkJoAks763.png" />
4、建立項目,登入驗證
用admin管理員登入Jenkins,建立幾個項目,其中給Team A建立的項目為TeamAAPIService,Team B建立的項目為TeamBUserService。
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/80/8D/wKiom1dD9WvjutK_AAHFMR7ws50620.png" title="9.png" alt="wKiom1dD9WvjutK_AAHFMR7ws50620.png" />
登入teamamanager帳號,只能看到TeamAAPIService這個job,說明Regex過濾生效了
登入teamamember帳號,也只能看到這一個job,且沒有刪除Project的許可權
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/80/8E/wKiom1dD9k_DyvtrAAFU-LP8S4Y163.png" style="float:none;" title="10.png" alt="wKiom1dD9k_DyvtrAAFU-LP8S4Y163.png" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/80/8C/wKioL1dD90OyX4wfAAGr2ogB0v4029.png" style="float:none;" title="11.png" alt="wKioL1dD90OyX4wfAAGr2ogB0v4029.png" />
同理Team B的情況一樣的。不再示範。上面就是許可權分別的整個過程和思路,公司有多個組就設定多個組的規則。將來有成員加入或者移除,直接在Assign Roles中添加或者刪除,非常方便。
本文出自 “zengestudy” 部落格,謝絕轉載!
6、Jenkins利用Role-based Authorization Strategy外掛程式管理項目許可權