最近写了一个jenkins插件,功能比较简单,时间主要是花在对jenkins插件框架和Maven的熟悉上。jenkins插件虽然以前也接触过一点,不过现在都忘得差不多了,这个笔记权当知识点记录,顺带介绍介绍经验。

首先是环境搭建,这里列一下jenkins插件开发所需工具:

  • JDK6.0或更高
  • 构建工具—Maven
  • IDE—IDEA或eclipse
  • web服务器:jetty或tomcat(可选)

Maven

jenkins插件需要用到Maven这个构建工具,大家可以去Maven的官网下载:这里

如何安装Maven?以windows环境为例:

  1. 解压下载的zip包(比如:apache-maven-3.0.4-bin.zip)到一个指定的目录(比如:D:\apache-maven-3.0.4);
  2. 添加M2_HOME环境变量,指就是我们刚刚解压的目录(如何设置环境变量JAVA开发应该都懂得);
  3. 添加M2这个环境变量,值是%M2_HOME%/bin,并在PATH这个环境变量的值后面追加 %M2%;
  4. 环境变量中确保有JAVA_HOME这个环境变量,有的话在cmd窗口可以直接用java -version打印JDK版本信息;
  5. 配置完所有环境变量后,在cmd窗口打印命名mvn -v,会打印出Maven和JDK的信息,这样就表示安装Maven成功了;

更详细的安装说明请看这里

IDE

我以前的blog还介绍过IDEA,相对于eclipse我还是比较喜欢用IDEA来开发。因为IDEA已经集成了Maven的插件,所以可以直接通过项目中的pom文件打开整个项目。在IDEA主界面右边有个maven projects的区域,打开可以看到工程的各个maven命令(图1)。

使用IDEA还需要添加一个针对jelly页面的插件,这个插件可以对jelly文件进行语法提示和高亮显示,插件地址点击这里,效果见图2。

图1:

图2:

Jetty(可选)

其实运行插件工程的hpi:run就可以通过maven启动一个自带的Jetty6服务器,不需要额外再安装jetty服务器。但为了让我们的插件测试更接近真实环境,我们可以将做好的插件放到另外一个的Jetty服务器中,来测试插件的运行效果。

  1. 去Jetty官网下载最新的Jetty包;
  2. 将包解压到本地目录;
  3. 将jenkins的war包放到解压目录中的webapps子文件夹中;
  4. 在解压目录的contexts子目录中增加一个xml文件,文件名是jenkins.xml(内容如下);
  5. 打开CMD进入解压目录,执行java -jar start.jar命令,即可启动Jetty服务器;
  6. 打开浏览器,进入localhost:8080/jenkins进入jenkins主页;
jenkins.xml
1
2
3
4
5
6
7
8
9
10
11
12
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/jenkins</Set>
<Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/jenkins.war</Set>
<Get name="securityHandler">
<Set name="loginService">
<New class="org.eclipse.jetty.security.HashLoginService">
<Set name="name">Jenkins Realm</Set>
<Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
</New>
</Set>
</Get>
</Configure>

注意:如果用hpi:run启动的服务,jenkins地址是:localhost:8080,而使用真实Jetty启动的服务,地址是:localhost:8080/jenkins。

到这里你的jenkins插件开发环境已经搭建好了,我们在下一篇blog再继续介绍具体的插件开发,谢谢!

Jenkins插件开发(一)--环境搭建的更多相关文章

  1. 持续集成-jenkins介绍与环境搭建

    什么是持续集成? 转自:https://blog.csdn.net/tanshizhen119/article/details/80328523 持续集成,俗称CI, 大师Martin Fowler对 ...

  2. jenkins在linux环境搭建-公司系统

    1.按照这个搭建的项目https://www.cnblogs.com/zishengY/p/7170656.html 2.配置权限https://blog.csdn.net/mynameissls/a ...

  3. jmeter + ant + jenkins 自动化集成环境搭建

    所需工具 一.jmeter 工具下载 https://jmeter.apache.org/  配置环境JDK等及各种插件 二.Ant安装(http://ant.apache.org/) 安装Ant是为 ...

  4. jenkins安装及环境搭建

    Jenkins 是基于Java开发的一种持续集成工具,所以,Jenkins需要Java环境. Jenkins版本是: JAVA版本是: Tomcat版本是: 或者 Jenkins版本是:2.10.2 ...

  5. Jenkins - 持续集成环境搭建

    1. Jenkins 概述 Jenkins是一个开源的持续集成工具.持续集成主要功能是进行自动化的构建.自动化构建包括自动编译.发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件. 2 ...

  6. Jenkins - 持续集成环境搭建【转】

    1. Jenkins 概述 Jenkins是一个开源的持续集成工具.持续集成主要功能是进行自动化的构建.自动化构建包括自动编译.发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件. 2 ...

  7. 四、jenkins+postman+newman环境搭建

    前提: 搭建环境之前需要先理清楚各个环境的依赖关系,jenkins只支持windows命令行跟linux shell环境执行构建命令,而postman的测试脚本不能直接在命令行或shell环境执行,p ...

  8. Jenkins+SVN持续环境搭建

    需要三台不同环境的服务器,SVN.Jenkins.Tomcat 1.SVN搭建 1.Subversion服务器(SVN服务器) 2.项目对应的版本库 3.版本库中钩子程序(用于触发构建命令) 在我以前 ...

  9. Jenkins+GitHub 项目环境搭建和发布脚本(二)

    Jenkins+gitHub项目搭建配置 项目发布脚本 profilesScript.sh (支持不同环境配置文件) #!/bin/bash ACTIVE=$ JENKINS_PATH=/var/li ...

  10. 谁能告诉我如何通过Jenkins完成分布式环境搭建并执行自动化脚本

    ​今天我们接着昨天的内容,看一看如何完成Jenkins分布式环境的搭建和使用,因为我之前也是自己一个人摸索的,如果有不对的地方,请各位看官私信指出. 新增分布式部署节点 在系统管理/节点管理中点击新建 ...

随机推荐

  1. loki之内存池SmallObj[原创]

    loki库之内存池SmallObj 介绍 loki库的内存池实现主要在文件smallobj中,顾名思义它的优势主要在小对象的分配与释放上,loki库是基于策略的方法实现的,简单的说就是把某个类通过模板 ...

  2. ROS 命令学习记录

    #catkin_init_workspace //just get CMakeList.txt #catkin_make  //增加了信文件夹 build和devel #Catkin_creat_pk ...

  3. sdut 迷之容器(线段树+离散化)

    #include <iostream> #include <algorithm> #include <string.h> #include <stdio.h& ...

  4. 38初识xml

    XML(可扩展标记语言)是一种用于记录多种数据类型的标记语言.使用XML可以将各类型的文档定义为容易读取的格式,便于用户读取.而且,在应用程序中使用XML,可以轻松实现数据交换. QT中提供两种访问X ...

  5. hdu5057 分块处理,当数值大于数据范围时树状数组 真是巧 将大数据分为小数据来处理

    这题说的给了100000个数有100000次操作 询问 L和R 区间内 在D位上为P的个数,用树状数组存 要开[10][10][100000]的int 开不了但是能开 这么大的unsign short ...

  6. 从Linux服务器下载文件到本地命令

    从Linux服务器下载文件夹到本地1.使用scp命令 scp /home/work/source.txt work@192.168.0.10:/home/work/ #把本地的source.txt文件 ...

  7. MySQL基准测试工具--sysbench

    我们需要知道的是sysbench并不是一个压力测试工具,是一个基准测试工具.linux自带的版本比较低,我们需要自己安装sysbench. [root@test2 ~]# sysbench --ver ...

  8. iptable的使用

    目录 iptables iptables iptables详解 2012-07-18 20:10:08 分类: LINUX 一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它 ...

  9. win10下搭建深度学习--总结【学习笔记】

    win10 下搭建深度学习开发环境总结: 1.本人环境如下:win10,GTX1050TI.i7,anaconda3,vs2015,cuda9.0,cudnn7.1.4,tensorflow-gpu= ...

  10. LightOJ 1071 Baker Vai(拆点+最大费用流)题解

    题意:给一个n*m的方格,每个格子上都有一个数字表示价值,小A在左上角,他从左上角走到右下角只能向右或向下走,然后再从右下角走上左上角,这次只能向上或向左走,这两条路绝对没有重复,问你怎样走有最大价值 ...