欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

开发Hudson / Jenkins 插件

程序员文章站 2022-04-30 08:41:16
...

         接上篇,有了JFR Report,我们可以通过JMRC分析,但是这样的话还是不够方便,所以想自己开发一个Jenkins插件来解析展示,本文先做个开发前的准备工作:

开发Hudson / Jenkins 插件首先一下准备工作:

1. JDK1.6 或更新版本

2. MAVEN 2 

3. maven 库settings设置增加:

<pluginGroups>
    <!-- pluginGroup
     | Specifies a further group identifier to use for plugin lookup.
    <pluginGroup>com.your.plugins</pluginGroup>
    -->
    <pluginGroup>org.jvnet.hudson.tools</pluginGroup>
    <pluginGroup>org.eclipse.hudson.tools</pluginGroup>
</pluginGroups>

 其中,org.eclipse.hudson.tools是针对hudson插件,org.jvnet.hudson.tools针对jenkin插件,两者貌似一样,最终编译出来的都是hpi插件,其实还是有细微的差别,如果是hudson插件,安装到jenkins上后会出现各种奇怪的问题。

 

4. 创建plugin项目mvn org.eclipse.hudson.tools:maven-hpi-plugin:3.0.1:create

期间会让你输入groupid和artifactId,完成之后会生成pom,示例如下:

 

<project xmlns="http://maven.apache.org/POM/4.0.0" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.eclipse.hudson.plugins</groupId>
        <artifactId>hudson-plugin-parent</artifactId>
        <!-- which version of Hudson is this plugin built against? -->
        <version>3.0.0</version>
    </parent>

    <groupId>song.test</groupId>
    <artifactId>hudson-plugin-test</artifactId>
    <version>1.0-SNAPSHOT</version>

    <packaging>hpi</packaging>

    <name>My Hudson Plugin Test</name>

</project>

 

这里又要注意一点,如果你使用的是jenkins,最终可能想要编译出jenkins插件,需要修改pom如下:

 

<parent>
	    <groupId>org.jenkins-ci.plugins</groupId>
	    <artifactId>plugin</artifactId>
	    <version>1.509</version>
</parent>

<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>

 

5. 现在可以创建eclipse配置了: mvn -DdownloadSources=true eclipse:eclipse

 

可以开始写代码了,具体放到下一篇吧。