為了示範友善,我這裡建立了如下的一些任務,各個任務由包含在對應的目錄中樹形結構大概如下:
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 節點進行權限控制,隻是一般用不到,并且節點最好是都允許進行任務在上面進行建構執行,否則節點的壓力負載分擔就會出問題。