3--Jenkins詳解 、用戶權限、構建maven、參數化構建


一、Jenkins

https://pkg.jenkins.io/redhat-stable/

Jenkins是一個自動化部署的工具。依賴於Java開發的,由各種組件組成的一個自動化部署工具

1.安裝Jenkins

#1.安裝Java
[root@jenkins jenkins]# yum install java-1.8.0-openjdk* -y
 
#2.安裝Jenkins
方式一
# 安裝Jenkins(推薦,因為yum默認為新版本,不建議安裝太新的版本)
[root@jenkins jenkins]]# mkdir packages && cd packages
[root@jenkins jenkins]# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.249.1-1.1.noarch.rpm
[root@jenkins jenkins]# yum localinstall -y jenkins-2.249.1-1.1.noarch.rpm
[root@jenkins jenkins]# systemctl restart jenkins

方式二
# yum方式安裝需要安裝認證 Key
[root@jenkins jenkins]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
# 安裝Jenkins
[root@jenkins jenkins]# yum install jenkins
[root@jenkins jenkins]# systemctl restart jenkins

2.登錄

[root@jenkins jenkins]# cat /var/lib/jenkins/secrets/initialAdminPassword
e59b14429016454f8ec2e5e7a34f6449

3.安裝插件

#1.安裝插件
#添加插件
[root@gitlab jenkins]# tar -xf /opt/plugins.tar.gz -C /var/lib/jenkins
# 授權jenkins用戶
[root@gitlab ~]# chown -R jenkins.jenkins /var/lib/jenkins/
#重啟
[root@gitlab jenkins]# systemctl restart jenkins.service 

4.Jenkins中的憑證和遠程連接機器

# 系統管理  ->  Manage Credentials -> 全局 -> 添加憑據

# Jenkins通過SSH下載代碼
1、將Jenkins服務器中的公鑰放到GitLab上SSH秘鑰
  #測試。可以下載  
[root@k8s-m-03 ~]# git clone git@192.168.15.14:root/xiangmu1.git

2、將Jenkins服務器私鑰放到Jenkins憑證(Manage Credentials)之中
    
# Jenkins連接遠程機器
	1、系統管理 -> 系統配置 -> SSH remote hosts
	或者
	2、系統管理 -> 系統配置 -> Publish over SSH
    [root@jenkins ~]# cat /root/.ssh/id_rsa 私鑰

配置憑證

配置憑證

Jenkins連接遠程機器

5.項目所存在的目錄

[root@jenkins ~]# cd /var/lib/jenkins/jobs/    #項目目錄
[root@jenkins jobs]# ll
total 0
drwxr-xr-x 3 jenkins jenkins 61 Aug 16 15:35 test-dep-01
drwxr-xr-x 3 jenkins jenkins 61 Aug 16 15:13 test-dep-1
[root@jenkins workspace]# pwd
/var/lib/jenkins/workspace    #工程目錄,下載代碼的目錄

6.優化

[root@gitlab updates]# cd /var/lib/jenkins/updates/
[root@gitlab updates]# sed -i 's/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
[root@gitlab updates]# sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

#最后,系統管理 --> 插件管理 --> 高級,把站點升級改為國內插件下載地址
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

二、解決jenkins忘記用戶密碼問題

#1.找到存密碼的文件
[root@jenkins ~]# cd /var/lib/jenkins/users/
[root@jenkins /var/lib/jenkins/users]# ll
total 4
drwx------ 2 jenkins jenkins  24 Aug 13 11:56 mm_7745824900363635554
-rw-r--r-- 1 jenkins jenkins 294 Aug 13 11:55 users.xml

[root@jenkins elainafang_4555949760451263805]# vim mm_7745824900363635554/config.xml 
 #2.將密碼內容替換成123456的密碼內容   #在網上查看jenkins密碼
<passwordHash>#jbcrypt:$2a$10$2LvNPMgFiYAyT/CeE5FwnOUkQz4SbTd9Myq/pWf5qAQtz0MWe6K86</passwordHash>
替換成              <passwordHash>#jbcrypt:$2a$10$MiIVR0rr/UhQBqT.bBq0QehTiQVqgNpUGyWW2nJObaVAM/2xSQdSq</passwordHash>
  
#3.重新加載內面用123456密碼登錄后在修改密碼

三、用戶權限 (RBAC權限)

1.授權策略

2.創建用戶和修改密碼

3.創建及管理權限組

系統管理 —> Manage and Assign Roles —> Manage Roles —> 各個角色(權限組)

Global roles(全局角色): # 管理員等高級用戶可以創建基於全局的角色 
Item roles(項目角色):   #  針對某個或者某些項目的角色 ,添加成組
Node roles(節點角色):   # 節點相關的權限

Base:   # 設置成所有的用戶都有查看的權限
Alvin:  # 設置以alvin開頭的項目有超管權限
Oldboy: # 設置以oldboy開頭的項目有超管權限

4.分配角色組權限

系統管理 —> Manage and Assign Roles —> Assign Roles

5.使用通配符分配權限

.* : 匹配以什么開頭的項目

四、Jenkins構建maven

1.配置maven環境

# 下載
[root@jenkins ~]# wget https://mirrors.aliyun.com/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

#2.解壓
[root@jenkins ~]# tar xf apache-maven-3.6.3-bin.tar.gz -C /usr/local/
[root@jenkins ~]# cd /usr/local/
[root@jenkins local]# ll
total 0
drwxr-xr-x  6 root root 99 Aug 17 06:43 apache-maven-3.6.3

#3.添加環境變量
[root@jenkins local]# ln -s /usr/local/apache-maven-3.6.3 /usr/local/maven      #建軟連接 
[root@jenkins maven]# vim /etc/profile   #添加環境變量
... ...
xport MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
[root@jenkins maven]# source /etc/profile   #重載環境變量

[root@jenkins ~]# mvn --version   #測試
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/maven
Java version: 1.8.0_302, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el7_9.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.138-1.el7.elrepo.x86_64", arch: "amd64", family: "unix"

2.配置maven

#配置JDK
[root@jenkins java-1.8.0-openjdk]# pwd   #jdk目錄的位置
/usr/lib/jvm/java-1.8.0-openjdk

[root@jenkins ~]# cd /usr/local/maven/   #maven路徑
[root@jenkins maven]# pwd
/usr/local/maven

3.安裝maven插件

3. 創建maven倉庫

使用jenkins用戶在/data/software目錄下新建一個repository文件夾,用來作為maven的倉庫

[root@jenkins ~]# mkdir -pv /data/software/repository
mkdir: created directory ‘/data’
mkdir: created directory ‘/data/software’
mkdir: created directory ‘/data/software/repository’
[root@jenkins ~]# chown jenkins.jenkins /data/software/repository/

使用root賬戶修改Maven的settings.xml文件(指定倉庫目錄和阿里雲鏡像)

[root@jenkins ~]# vim /usr/local/maven/conf/settings.xml
添加
<!--本地倉庫-->          
  <localRepository>/data/software/repository</localRepository>
  
  <mirrors> #里面有這一行,不必再寫
    <!--阿里雲鏡像-->
    <mirror>
      <id>aliyun-maven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven mirror</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
  </mirrors>

五、參數化構建

https://blog.csdn.net/mm970919/article/details/119711839


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM