jenkins-02-插件管理

Jenkins插件管理

Jenkins本身不提供很多功能,我们可以通过使用插件来满足我们的使用。
例如从Gitlab拉取代码,使用Maven构建项目等功能需要依靠插件完成。

修改Jenkins插件下载地址

Jenkins国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址:
Jenkins->Manage Jenkins->Manage Plugins点击Available:
在这里插入图片描述
这样做是为了把Jenkins官方的插件列表下载到本地.

接着修改地址文件,替换为国内插件地址:

[jhs@vm1 ~]$ cd $JENKINS_HOME/updates

#将 updates.jenkins-ci.org/download 替换为 mirrors.tuna.tsinghua.edu.cn/jenkins,
[jhs@vm1 updates]$ sed -i 's/updates.jenkins-ci.org\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json

#将 www.google.com 替换为 www.baidu.com,
[jhs@vm1 updates]$ sed -i 's/www.google.com/www.baidu.com/g' default.json

最后,Manage Plugins点击Advanced,把Update Site改为国内插件下载地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

在这里插入图片描述
点击Submit之后, 浏览器输入vm1:18080/restart,重启Jenkins。

安装中文插件

Jenkins->Manage Jenkins->Manage Plugins,点击Available搜索"Chinese", 勾选目标插件, 然后点击安装并重启即可。
在这里插入图片描述
安装进度如下:
在这里插入图片描述
安装成功之后,选择重启。
重启之后,看到jenkins汉化了。
在这里插入图片描述

卸载插件

已安装选项中,选择插件卸载。
在这里插入图片描述

jenkins用户权限管理

安装Role-based Authorization Strategy插件

我们可以利用Role-based Authorization Strategy 插件来管理Jenkins用户权限,
在这里插入图片描述

开启权限全局安全配置

在这里插入图片描述

Security -> Configure Global Security授权策略,更改为 Role-based Authorization Strategy
在这里插入图片描述

创建角色

在系统管理页面进入Manage and Assign Roles,点击Manage Roles
在这里插入图片描述
我们添加如下三个角色:

  • baseRole:该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑
    定最基本的Jenkins访问权限。注意:如果不给后续用户绑定这个角色,会报错误:用户名 is missing the Overall/Read permission
  • role1:该角色为项目角色。使用正则表达式绑定usa.*,意思是只能操作usa开头的项目。
  • role2:该角色也为项目角色。绑定cn.*,意思是只能操作cn开头的项目。

在这里插入图片描述

创建用户

在系统管理页面进入Manage Users, 点击create user 创建 trumpjhs两个用户。
在这里插入图片描述

分配角色

系统管理页面进入Manage and Assign Roles,点击Assign Roles
绑定规则如下:

  • trump用户分别绑定baseRolerole1角色
  • jhs用户分别绑定baseRolerole2角色
    在这里插入图片描述

创建项目测试权限

重新梳理下 用户->角色->项目权限信息。

  • trump --> role1 --> usa.*
  • jhs --> role2 --> cn.*

用系统管理员,创建项目usa01cn01两个项目。
使用jhs,trump分别登陆,结果为
-jhs 只能看到cn01
-trump只能看到usa01

Jenkins凭证管理

凭据可以用来存储需要密文保护的数据库密码Gitlab密码信息Docker私有仓库密码等,以便
Jenkins可以和这些第三方的应用进行交互。

安装Credentials Binding插件

要在Jenkins使用凭证管理功能,需要安装Credentials Binding插件.
安装(略)
安装成功之后, 需要给admin角色 赋权 该菜单功能。
在这里插入图片描述

使用
插件安装完成之后,在系统管理 -> Manage Credentials中添加凭证
在这里插入图片描述
凭证有如下5中类型:
在这里插入图片描述

  • Username with password:用户名和密码
  • SSH Username with private key: 使用SSH用户和密钥
  • Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。
  • Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token
  • Certificate:通过上传证书文件的方式常用的凭证类型有:Username with password(用户密码)和SSH Username with private key(SSH密钥)

常用的凭证类型有:Username with password(用户密码)SSH Username with private key(SSH 密钥)
接下来以使用Git工具到Gitlab拉取项目源码为例,演示Jenkins的如何管理Gitlab的凭证。

安装git插件

为了让Jenkins支持从Gitlab拉取源码,需要安装Git插件以及在Jenkins容器安装Git工具

Git插件安装

在这里插入图片描述

容器内安装git工具

进入容器内部,发现docker镜像已安装了git

bash-4.2$ which git
/usr/bin/git
bash-4.2$ git --version
git version 1.8.3.1

git+凭证

用户密码类型凭证

创建凭证

在这里插入图片描述
输入用户名、密码,点击确定:
创建完成,
在这里插入图片描述

测试凭证是否可用

创建一个freestyle项目test01
在这里插入图片描述
找到源码管理 -> Git,在Repository URL中复制Gitlab项目URL:
在这里插入图片描述

该项目 必须有提交记录

选择刚添加的凭证即可正常(如果不选择凭证信息会报错,):
在这里插入图片描述

构建

保存配置之后,点击构建,开始构建项目,后查看构建日志:
在这里插入图片描述
查看容器/var/jenkins_home/workspace目录,或者宿主机$JENKINS_HOME/workspace目录,发现已经从gitlab成功拉取了代码到jenkins中:
在这里插入图片描述

SSH秘钥类型

SSH免密登录示意图:

在这里插入图片描述

生成公钥和私钥

jenkins服务器使用root用户(容器直接生成)生成公钥和私钥
在这里插入图片描述

将公钥放在Gitlab中

使用gitlab管理员用户,添加SSH_KEYS:
在这里插入图片描述

在私钥中添加凭证,配置私钥

$JENKINS_HOME/.ssh/ id_rsa文件内容写入。
在这里插入图片描述

测试凭证是否可用

注意使用ssh://xxxx
在这里插入图片描述
然后点击构建即可。


maven安装和配置

安装maven

在Jenkins集成服务器上,我们需要安装Maven来编译和打包项目。

上传maven安装包
#1. 首先将安装包 上传到 宿主机上

#2. cp文件到my_jenkins容器内
[jhs@vm1 ~]$ docker cp  ~/third_part_software/apache-maven-3.6.1.zip my_jenkins:/var/jenkins_home


#3. 到容器内查看文件
bash-4.2$ ls ~
.... apache-maven-3.6.1.zip ....

#4. 安装
bash-4.2$ cd softwares/
bash-4.2$ mv apache-maven-3.6.1.zip ./softwares/
bash-4.2$ unzip apache-maven-3.6.1.zip 

bash-4.2$ cd apache-maven-3.6.1
bash-4.2$ pwd
/var/jenkins_home/softwares/apache-maven-3.6.1

# 修改配置文件/etc/profile---无权限---待解决 
#5. 修改环境变量
#### java环境 安装;
bash-4.2$ export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
bash-4.2$ export PATH=$PATH:$JAVA_HOME/bin

bash-4.2$ export MAVEN_HOME=/var/jenkins_home/softwares/apache-maven-3.6.1
bash-4.2$ export PATH=$PATH:$MAVEN_HOME/bin

#6. 验证
bash-4.2$ mvn -v
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T19:00:29Z)
全局工具配置关联JDK和Maven

Jenkins->Global Tool Configuration->JDK->新增JDK,配置如下:
在这里插入图片描述

添加jenkins全局变量

Manage Jenkins->Configure System->Global Properties ,添加三个全局变量
JAVA_HOME、M2_HOME、PATH+EXTRA
在这里插入图片描述

修改setting.xml
## 创建 mvn repository 仓库
bash-4.2$ mkdir mvn_repository
bash-4.2$ cd mvn_repository/
bash-4.2$ pwd
/var/jenkins_home/softwares/mvn_repository

## 修改setting.xml
bash-4.2$ vi ~/softwares/apache-maven-3.6.1/conf/settings.xml 
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
	<!-- 设置仓库地址-->    <localRepository>/var/jenkins_home/softwares/mvn_repository</localRepository>

    <interactiveMode>true</interactiveMode>
    <offline>false</offline>

    <mirrors>
       <!-- 配置阿里云 -->
        <mirror>
            <id>aliyun</id>
            <mirrorOf>central</mirrorOf>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </mirror>
    </mirrors>

</settings>

测试Maven是否配置成功

使用之前的项目web-demo,修改配置,增加构建步骤build,选择execute shell输入命令:mvn clean package -Dmaven.test.skip=true
在这里插入图片描述

再次执行构建,看是否可以把项目打包成功

Tomcat安装和配置

tomcat安装(略)
Tomcat安装和配置

默认情况下Tomcat是没有配置用户角色权限的。
但是,后续Jenkins部署项目到Tomcat服务器,需要用到Tomcat的用户,所以修改tomcat以下配置,
添加用户及权限

vi ~/tomcat/conf/tomcat-users.xml

## 添加如下配置
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>

若后续需要使用jenkins远程部署, 则还需要配置;manager-script 角色。

**注意:**为了能够刚才配置的用户登录到Tomcat,还需要修改以下配置:

# 修改 manager/META-INF/context.xml
vi ~/tomcat/webapps/manager/META-INF/context.xml

# 注释该内容
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->

重启tomcat
访问vm:8080/manager/html: 输入tomcat/tomcat,进入tomcat管理界面:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值