3. Jenkins使用 -- 用戶設置

文章已經遷移到我的個人博客,里面還有更多內容。

3. Jenkins使用 -- 用戶設置

建立用戶

主頁點擊系統管理 -> 管理用戶,可見現在只有一個管理員用戶

點擊右側新建用戶

new.png

輸入所需信息

現在,我們有兩個用戶

退出admin賬號,登錄user1賬號,確定沒有問題,再次退出,返回admin賬號

分配用戶角色

新建的用戶有和管理員一樣的權限,不安全,我們需要限制其權限。
我們使用角色來管理權限。簡單來說就是管理員創建若干角色,比如開發者測試者等,每個角色都有對應的一些權限。我們還有若干用戶,比如用戶1用戶2等,其中用戶1做開發,用戶2做測試。那么如果我們設定用戶1的角色是開發者用戶2的角色是測試者,就可以很快給各個用戶分開好權限。下次再有更多用戶,我們只要給他們設定相應的角色即可,而不用對每個用戶單獨設定,這樣便可以簡化我們的工作。

安裝所需插件

進入系統管理 -> 插件管理,點擊可選插件,然后在過濾中輸入role
選中出現的插件,然后點擊直接安裝

role.png

然后選擇安裝完成后重啟****Jenkins即可

restart.png

設置安全策略

點擊系統管理-> Configure Global Security, 選中圖示的Role-Based Strategy,然后保存設置。

退出admin賬號,登錄user1賬號,發現出現下圖錯誤,說明配置生效。這個錯誤說明未經admin授權角色,其他用戶沒有任何權限。

創建角色

為了給其他用戶賦予合適的工作權限,我們需要首先創建角色。
重新登錄admin

點擊系統管理-> Configure Global Security-> Manage and Assign Roles,進入如下界面。

進入Manage Roles,我們看到三中角色分類,Global roles(全局角色)Project roles(項目角色)Slave roles(奴隸角色)。項目角色與全局角色的區別就是,項目角色只能管理項目,沒有管理jenkins的權限配置。

  • Global roles(全局角色):管理員等高級用戶可以創建基于全局的角色
  • Project roles(項目角色): 針對某個或者某些項目的角色
  • Slave roles(奴隸角色):節點相關的權限

我們可以發現,admin角色擁有所有權限。

添加一個全局角色

下面輸入框中,添加一個全局角色,比如叫做employee

然后為其設置Overrall(全局的)ReadView的所有權限,如下圖

添加一個項目角色

Role to add中,添加"developer",Pattern中,添加"Dev.*"

分配給此類項目job所有權限

類似方法,可以添加一個名為"tester"的項目角色Pattern設置為"Test.*",并且賦予所有權限。

Pattern這個設置可能會有點迷惑。這里填的是一個正則表達式,目的是匹配job全名(如果使用了Cloudbees Folders Plugin,那么全名還包括為文件夾),具體可以參考官方文檔

全局角色與項目角色

全局角色設定覆蓋項目角色的任何設定。那么,如果全局設定某個角色可以job-read(如下圖設置),那么不管項目角色怎么設定的,這個角色都可以讀取任何項目。

基于此,推薦多數(甚至所有)全局的JobRunSCM都不要鉤選。

分配角色

回到主頁,點擊系統管理-> Configure Global Security-> Manage and Assign Roles,進入如下界面。

點擊Assign Roles,首先,在Global roles部分,User/group to add中輸入我們剛才建立的用戶名user1,點擊add添加,然后在出現的對應的全局角色位置勾選employee

類似的,在Project roles位置為user1賬號添加developer角色。

這樣,我們便添加了全局和項目角色,而且分配了對應用戶。

slave role暫時沒有研究,以后用到了再補充

驗證新建的角色

首先,我們需要有對應的項目來驗證。回到主頁,點擊新建

然后出現下圖界面,Enter an item name中輸入DevProject1,然后選擇構建一個自由風格的軟件項目,最后點擊OK保存。

現在可以自己試試登錄我們的user1用戶,看看可不可以看到這個項目了。
有興趣的話,自己多建立幾個用戶和項目,體驗一下這些設置。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容