Jenkins 進階篇 – 權限案例實踐
為了演示方便,我這裡創建了如下的一些任務,各個任務由包含在對應的目錄中樹形結構大概如下:
jenkins-authority 目錄類型任務
├── dev-project-group 目錄類型任務
│ ├── dev-account-service 自由風格任務
│ └── dev-message-service 自由風格任務
├── prod-project-group 目錄類型任務
│ ├── prod-account-service 自由風格任務
│ └── prod-message-service 自由風格任務
└── test-project-group 目錄類型任務
├── test-account-service 自由風格任務
└── test-message-service 自由風格任務
最後分別用張三、李四、王五賬號登錄到 Jenkins 系統看看權限設置的效果。沒有意外的話王五是運維人員角色可以構建和管理 dev、test 和 prod 的任務,李四隻能構建和管理 test 的任務,張三隻能管理和構建 dev 的任務。並且張三、李四也只能在對應的環境目錄下創建新的任務,不能在其他目錄創建任務。
用開發組張三賬號登陸到 Jenkins ,去到 dev-project-group
目錄和下面的具體某個任務下面,看到左側的菜單欄可以進行修改編輯操作。
如果張三去到測試項目組 test-project-group
和目錄下的具體某個任務,可以看到左側的菜單欄是沒法進行編輯和構建操作的。
然後可以在用測試組賬號李四登陸到 Jenkins 看看是什麼樣的效果:
王五為運維角色,可以管理 dev、test、prod 組的任務:
經過上面的配置,我們的 Jenkins 權限管控就相對精細並且也符合我們的要求和預期了。其實除了對任務進行權限控制外還可以對 Jenkins 節點進行權限控制,只是一般用不到,並且節點最好是都允許進行任務在上面進行構建執行,否則節點的壓力負載分擔就會出問題。