Jenkins 權限分配相關
前言
日常工作當中,想區分Jenkins發佈環境,但又嫌維護起來麻煩。
就考慮到是不是可以只要一個Jenkins,通過權限等來控制發佈環境。
例如 開發可以在Jenkins上看到併發布dev test環境,test只可以看到併發布test環境,運維則都可以看到併發布dev test online 環境。
通過用戶權限可以看到,發佈者是誰。
即使出了問題也可以追溯。由此就發現了Jenkins插件: Role Strategy Plugin(插件名可能會更新)
安裝Jenkins
之前已經寫過該文檔,就不在闡述了。
Jenkins的安裝文檔
安裝插件
管理Jenkins - 插件管理 - 可選插件中搜Role Strategy Plugin 搜不到,就直接搜Role,勾選上後直接安裝。
啓用插件
管理Jenkins - Configure Global Security - 授權策略中單選框中選擇 -Role-Based Strategy - 保存
管理插件
管理Jenkins - 未分類(Uncategorized) -Manage and Assgin Roles
Manage Roles
選擇該項可以創建全局角色、項目角色,並可以爲角色分配權限
Global roles
創建job_read組,分配Over all的read權限
Item role
Pattern是過濾項目的模板
創建Dev規則:Patterm爲Dev.*
使用正則表達式,意爲在Dev組中的成員,對視圖爲Dev開頭的都有相應設置的權限。
創建Testers規則:Patterm爲Test.*
使用正則表達式,意爲在Testers組中的成員,對視圖爲Test開頭的都有相應設置的權限。
創建用戶
爲了更好的分配權限,先創建用戶dev,test,命名別名爲開發組,測試組。
管理Jenkins-Manage Users-新建用戶
創建項目
爲了更直觀的查看分配權限的結果,先創建幾個項目進行測試
Dev_Supermarket
Online_supermarket
Test208_supermakrt
Test208_supermarket_frontend_locked
Test208_supermarket_h5
Assign Roles
回到管理Jenkins - 未分類(Uncategorized) -Manage and Assgin Roles
將dev,test組添加至創建的各個權限組上。
完成後保存。
驗證
dev用戶
切換到dev用戶進行查看
test用戶
切換到test用戶進行查看
admin用戶
切換到admin用戶進行查看