天天看点

修改jenkins插件

修改 jenkins 插件

    • 背景
    • 引起原因
    • 动手
    • 意外
    • 给插件改名

背景

上家公司有个项目,安装了两台 wildfly server做集群(假设叫做服务器A和服务器B,用 jenkins 的 wildfly 自动部署时,A 能部署成功,但 B 部署失败。

引起原因

经过多次研究,最终发现是服务器 B 在部署的时候,疑似默认 timeout 参数太短导致部署不成功。于是打算修改该插件,在插件页面添加一个 timeout 参数

动手

  1. 先去

    https://github.com/jenkinsci/wildfly-deployer-plugin

    将该插件的源码下载到本地
  2. 重写一个 CLI.java 类,写一个connect方法并添加一个 timeout 参数 ( 参考

    https://github.com/landuo/wildfly-deployer/blob/master/src/main/java/org/jenkinsci/plugins/wildfly/CLI.java#L93

    )
  3. 参考 WildflyBuilder.java 重写一个 WildflyBuilderCustom.java 类,在构造函数上加上 timeout 参数,并在相应地方调用 CLI 的 connect 方法 (参考

    https://github.com/landuo/wildfly-deployer/blob/master/src/main/java/org/jenkinsci/plugins/wildfly/WildflyBuilderCustom.java#L117

  4. 执行

    mvn clean package

    打包出 .hpi 文件。将原插件删除后将打包好后的插件包上传并测试

意外

正常 jenkins server做完以上操作后,新的插件就会生效,但上家公司那个 jenkins server 不知道为什么还保留着原来的插件

给插件改名

将 pom.xml 文件中 <name> </name> 和 <description> </description> 标签里的名字和描述改自己定义的名字和描述,与原本的 WildFly Deployer Plugin 区别开,重新打包上传,在使用的时候选择新的插件就行了。

jenkins 自动部署资料

链接:https://pan.baidu.com/s/1_Gy1VUVI9ZjMYIcDnfvjvA

提取码:x6U4

加Q一起学习进步: 3034181846