說到系統軟件, 不可少得話題就是權限管理. 這個在jenkins中也不例外......我們就來說說jenkins權限管理這塊.....
以下操作均在unix系統上進行, 暫不分享windows上的操作
1: jenkins下載和安裝
#wget https://pkg.jenkins.io/redhat/jenkins-2.189-1.1.noarch.rpm
#rpm -ivh jenkins-2.150.2-1.1.noarch.rpm
1:配置
# vi /etc/sysconfig/jenkins
找到修改端口號:
JENKINS_PORT="8080" 此端口不衝突可以不修改
JENKINS_HOME="/home/wqh/tool/jenkins"
# vi /etc/init.d/jenkins
JENKINS_WAR="/home/wqh/war/jenkins/jenkins.war"
2:Jenkins相關啓動
# service jenkins start/stop/restart
3:查看初始化登陸密碼
# vi /home/wqh/tool/jenkins/secrets/initialAdminPassword
4:jenkins卸載
service jenkins stop
yum clean all
yum -y remove jenkins
rm -rf /var/cache/jenkins
rm -rf /var/lib/jenkins/
5:jenkins 啓動時報錯:
1:Starting Jenkins bash: /usr/bin/java: No such file or directory
# vim /etc/init.d/jenkins
# 在對應處增加一行:
candidates="
/usr/local/jdk1.8.0_181/bin/java #此處爲加入的java路徑
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/bin/java
"
# service jenkins start
2:jenkins啓動 java.io.IOException: 權限不夠
# vi /etc/sysconfig/jenkins
JENKINS_USER="root"
6:jenkins發佈報錯
1:jenkins Failed to create parent directories for tracking file
# cd /usr/local/apache-maven-3.5.4/
# chmod 777 repository
7:jenkins升級
1: ps aux|grep jenkins 找到jenkins.war安裝包位置
2: service jenkins stop
3: rm jenkins.war
4: 升級包: wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war 替換原來的war包
8:jenkins初始化密碼修改
# cd /home/wqh/tool/jenkins
# vi config.xml
# <passwordHash>#jbcrypt:$2a$10$LxMm9HqAI/R4z7gL57qTouW/Mrz8uSaBpCGKvKc7K6dK.g/0yk/uq</passwordHash>
# 重啓jenkins
9:jenkins權限配置admin賬戶無Overall/Read權限
# vi config.xml
#
<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy">
<permission>hudson.model.Hudson.Administer:anonymous</permission>
<permission>hudson.model.Hudson.ConfigureUpdateCenter:anonymous</permission>
<permission>hudson.model.Hudson.Read:anonymous</permission>
<permission>hudson.model.Hudson.RunScripts:anonymous</permission>
<permission>hudson.model.Hudson.UploadPlugins:anonymous</permission>
</authorizationStrategy>
# 重啓jenkins服務
一般文章都會過掉上述安裝..理由是很簡單, 安裝雖簡單,但是有時候出現問題,卻很難找,本文記載下,以供有些同學需求,沒碰到的請略過🙂...進入正題
2:jenkins權限配置
1:jenkins插件"Role-based Authorization Strategy"
jenkins ---> Manage Jenkins ---> Manage Plugins ---> 可選插件
2:插件啓用
jenkins ---> Manage Jenkins ---> Configure Global Security
3:權限配置
啓用策略後,在jenkins ---> Manage Jenkins下會出現"Manage and Assign Roles",進去後是這樣的
這裏先來說說我們jenkins-item,如下圖,測試環境
看到test-*-*的格式沒有?這裏很重要,下面要用到
1: 管理角色
格列選項的意思,..就按字面意思來,基本也算準確...有特殊要求的,可以單獨問我.或者自行百度,都是可以的
上面截圖的意思,可以理解爲有dev/prd/test角色, 他們都有查看權限
dev角色管理dev開頭的項目, prd管理prd開頭的的項目, test管理test開頭的項目
2:分配角色
如上圖,我們有個scott用戶,把它分配到test角色和test項目權限上面,點擊保存.
用scott登陸,看到的結果