目錄
一、Jenkins
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>
