开发 Jenkins 插件

一、环境准备

Jenkins 是基于 Java 开发的。所以要开发 Jenkins 插件,首先要安装 JDK、mvn 等工具

二、创建 Jenkins 插件项目

1、新建一个项目目录,并在命令行进入该目录后执行如下 mvn 命令

1
mvn -U archetype:generate -Dfilter=io.jenkins.archetypes:

如下图,创建成功显示 “BUILD SUCCESS”,这样在刚才那个目录下就多出了一个 demo 目录:

  • 其中输入两次4,因为引用的是1.4的版本,所以输入两次4
  • demo 是 artifatId,你可以随便输
  • 版本,可以输也可以空着
  • 最后输入 y,开始创建项目

 三、构建并运行插件

1、命令行中进入 demo 目录,执行如下目录

1
mvn hpi:run

编译后可能会有如下错误,如图:

原因是 jenkins 插件需要在 jdk8上运行。安装 jdk 8后并修改 JAVA_HOME 后再次运行 mvn hpi:run 即可

我的安装目录在这里所以运行 export 修改临时 JAVA_HOME

1
2
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

另外还要注意 jenkins 项目运行在 8080 端口所以要保证该端口没被占用

2、builder 成功后浏览器中访问如下地址,这样你就可以在本机上调试你的 Jenkins 插件了

1
http://localhost:8080/jenkins/

如下图:  

3、创建一个自由风格的 Jenkins 项目

4、添加 Say hello world 构建步骤

5、输入名称后点击 保存

 6、点击 立即构建,并查看构建日志

 

四、修改 jenkins demo 插件代码 

1、代码结果

 2、前端页面对应修改位置

 3、插件名称修改位置,当然以上都用了国际化文件,只是我没用而已

 4、页面上对应组件的属性及 get、set 方法

5、参数检查(这里的检查是创建项目时的参数检查,不是构建时的参数检查),检查信息显示到如下图

6、构建后执行的方法,以及日志显示内容,后续主要业务就写到这里。

7、如果需要在构建时参数检查,按如下代码实现

五、打包

执行如下命令,打包生成 hpi

1
mvn package

在我的电脑上打包老是报错,可以选择如下命令跳过 test 后成功

1
mvn package -DskipTests=true

注:或者 默认 pom 编译老是报错,也没找到什么原因,没办法只能升级版本解决(但要注意你使用的 Jenkins 服务器版本,我就是因为公司用的版本低而又降了回去),修改内容如下

或者在第一步的时候选择 4 -> 14,也可以

 六、在 Jenkins 中使用

6.1、Freestyle project

三 中已经讲过,就不再细讲了

6.2、Pipeline

第一种 node 形式,其中 webHost 是参数名,冒号后边是值

1
2
3
node {
    step([$class:"RunSuiteBuilder", webHost:'http://localhost:8080/jenkins/job/pi/configure', host:'http://10.16.30.9:7171', token:'eyxxxxxxxxVs', suiteId:22, timeout:120])
}

第二种 stage 形式

1
2
3
4
5
6
7
8
9
10
pipeline {
    agent any
    stages{
        stage('QAplatform-plugin'){
            steps{
                step([$class:"RunSuiteBuilder", webHost:'http://localhost:8080/jenkins/job/pi/configure', host:'http://10.16.30.9:7171', token:'eyxxxxxxxxVs', suiteId:22, timeout:120])
            }
        }
    }
}

 

  

 

  

 

posted @   rslai  阅读(308)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示