jenkins插件开发

本文介绍了为何要开发Jenkins插件,详细阐述了Jenkins的运行周期和提供的扩展点,如Builder和Notifier。遵循一系列步骤,包括设置settings.xml、使用maven、创建项目、编写运行类和配置文件,以及如何进行本地和远程调试,帮助开发者了解Jenkins插件的开发流程。
摘要由CSDN通过智能技术生成

为什么要开发jenkins插件:

   Jenkins是持续集成运行、管理平台(与hudson一样,具体说明可以查看jenkins的wiki)。jenkins本身提供了一套插件的管理机制,这些插件允许可插拨形式存在。jenkins插件虽然能提供很多种插件,但还是不能满足我们持续集成的需要,所以需要定制一些插件来支撑整个持续集成平台的运行。

 

Jenkins运行周期:

Jenkins有自己运行的生命周期,如下:

  1. checkout -check out出源码
  2. Pre-build - 预编译
  3. Build wrapper-准备构建的环境,设置环境变量等
  4. Builder runs -执行构建,比如调用calling Ant, Make 等等
  5. Recording - 记录输出,如测试结果
  6. Notification - 通知成员

Jenkins提供的扩展点:

为了支撑插件能在各个生命周期中运行,jenkins提供了各种扩展点,我们主类必须要extends一个扩展点;针对现状,基本上只需要使用Notifier,与builder这两个扩展点;详细如下:

Ø  Builder:这个扩展点支撑的是构建这个阶段需要做的事情,包括prebuild postbuid、构建环境等步骤,例如我们更换slave机器的hosts插件

Ø  Notifier:包括通知、消息通知等情况,我们的sendnapolimessage是基于这种扩展点来开发的

具体扩展点说明请参考:https://wiki.jenkins-ci.org/display/JENKINS/Extension+points

插件开发步骤

设置settings.xml(包括代理)

  因为插件使用的是maven的管理形式,所以需要settings文件,了解maven的同学应该知道settings文件的作用,这里不多说。需要在我们的settings.xml中添加如下设置:

<settings>
  <pluginGroups>
    <pluginGroup>org.jenkins-ci.tools</pluginGroup>
  </pluginGroups>
 
  <profiles>
    <!-- Give access to Jenkins plugins-->
    <profile>
      <id>jenkins</id>
      <activation>
       <activeByDefault>true</activeByDefault> <!-- change thisto false, if you don't like to have it on per default -->
      </activation>
      <repositories>
        <repository>
         <id>repo.jenkins-ci.org</id>
         <url>http://repo.jenkins-ci.org/public/</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
         <id>repo.jenkins-ci.org</id>
         <url>http://repo.jenkins-ci.org/public/</url>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <mirrors>
    <mirror>
      <id>repo.jenkins-ci.org</id>
     <url>http://repo.jenkins-ci.org/public/</url>
     <mirrorOf>m.g.o-public</mirrorOf>
    </mirror>
  </mirrors>
</settings>


由于下载比较慢,所以我添加了一个proxy,具体设置如下:

<!--使用代理-->
  <proxy>
         <!-- 唯一标识 -->
      <id>my-proxy</id>
                   <!-- 指这个代理是否被激活,比如上面提到有多个代理,则会寻找第一个被激活的代理 -->
      &l
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值