一、环境依赖

1.1 JDK配置

JDK版本要求在1.6以上

1.2 Maven配置

Maven官方要求版本在3以上

1.3 Maven环境配置

到用户目录的.m2下修改setting.xml文件,配置Jenkins库依赖,C:\Users\Administrator\.m2\settings.xml

二、插件开发

2.1 创建

原命令:mvn hpi:create或者mvn -U org.jenkins-ci.tools:maven-hpi-plugin:create

执行后错误信息如下:

更新后使用的最新命令如下,首次创建需要Download必须的依赖,需要一些时间

mvn archetype:generate -Dfilter=io.jenkins.archetypes:plugin

执行过程中需要提交一些信息,

1、选择archetype,提示列出了三种,这里选择一个空白的插件框架1

2、选择版本,默认1.2

3、提供groupId,

Define value for property 'groupId':XXX.XXX.XXX

4、提供ArtifactId,项目名称

Define value for property 'artifactId':XXX

5、提供版本号,默认1.0-SNAPSHOT

Define value for property 'version' 1.0-SNAPSHOT:

6、提供应用包名,默认groupId

Define value for property 'package' XXX.XXX.XXX: :

7、确认以上信息

Confirm properties configuration:Y

创建成功

2.2 编译插件生成hpi文件

cd到XXX工程目录下,执行以下命令

mvn install 或者mvn package

执行完成如下

2.3 代码的解释

数据的绑定:  

 

<!--config.jelly-->

<f:entry title="Name" field="name">

    <f:textbox />

</f:entry>

 

//--HelloWorldBuilder.java--

@DataBoundConstructor

public HelloWorldBuilder(String name) {

    this.name = name;

}

首先,在config.jelly中包含需要传入的参数配置信息的文本框,field为name,这样可以在Jenkins中进行配置,然后通过DataBoundConstructor的方式,传到类中。

Jenkins插件任务的执行

 

@Override

public boolean perform(AbstractBuild build, Launcher launcher, BuildListener listener) {

    // This is where you 'build' the project.

 

    // This also shows how you can consult the global configuration of the builder

        listener.getLogger().println("Hello, "+name+"!");

    return true;

}

根据注释可以了解:该处是你在Job进行构建时进行操作的地方,并且这里可以根据你在配置中的设置执行你需要的工作。通常,根据需要修改perform函数即可。

传入数据的检查

 

 public FormValidation doCheckName(@QueryParameter String value)

                throws IOException, ServletException {

            if (value.length() == 0)

                return FormValidation.error("Please set a name");

            if (value.length() < 4)

                return FormValidation.warning("Isn't the name too short?");

            return FormValidation.ok();

        }

在该函数中,实现在配置页面中填写内容时,进行校验的过程。如函数所述,当填入内容为空时,提示:Please set a name。你可以根据你的需要进行逻辑的控制。

2.4 转换为eclipse工程

为了便于在编辑器中进行修改,我们需要将生成的maven代码转化为eclipse工程,使用的命令如下:

mvn eclipse:eclipse

或者

mvn -DdownloadSources=true -DdownloadJavadocs=true -DoutputDirectory=target/eclipse-classes eclipse:eclipse

第二条较长的命令中,参数是可选的。

2.5 使用.hpl进行调试

maven中使用.hpl(hudson plugin link)格式来进行插件的调试。hpl文件中只包含一个链接,

链接到类似META-INF/MANIFEST.MF的说明

文件../path/to/your/plugin/workspace/manifest-debug.mf。该文件其中额外定义了一些属性来指定文件目录位置,这样资源的修改可以立即生效(需要配置stapler.jelly.noCache=true),不需要重新打包安装。
在maven中可以使用命令:

mvn hpi:hpl -DhudsonHome=/...

2.6 使用.hpi进行测试

在调试通过后,可以使用.hpi文件来启动jenkins,查看结果,命令如下:

mvn hpi:run -DhudsonHome=/...

三、安装自定义插件

3.1 上传插件

进入jenkinsà系统管理à插件管理à高级

找到上传插件

上传.hpi文件,进入job,就可以找到刚刚安装的插件

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐