為了演示方便,我這裡建立瞭如下的一些任務,各個任務由包含在對應的目錄中樹形結構大概如下:

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 節點進行許可權控制,只是一般用不到,並且節點最好是都允許進行任務在上面進行構建執行,否則節點的壓力負載分擔就會出問題。