Jenkins插件开发环境搭建

Jenkins 是一个被广泛应用的持续集成以及DevOps的工具,对于一些复杂的项目,需要开发一些特定的插件来满足各种需求。本文记录基于 IntelliJ 的 jenkins 插件开发环境的搭建。

准备工作

当然,作为一名开发人员这些下面这些工具肯定已经存在了。但是为了保持本文的完整性,还是有必要再列一下。

  • jdk 6+
  • maven 3
    • 将 maven 可执行文件所在路径加入到 PATH 环境变量中;
    • 修改 maven 配置文件~/.m2/settings.xml(windows 系统为%USERPROFILE%.m2\settings.xml)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<settings>
<pluginGroups>
<pluginGroup>org.jenkins-ci.tools</pluginGroup>
</pluginGroups>

<profiles>
<!-- Give access to Jenkins plugins -->
<profile>
<id>jenkins</id>
<activation>
<activeByDefault>true</activeByDefault> <!-- change this to 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>

如果你的网络处于防火墙之内,需要代理服务器才能访问外网。则加入类似下面的内容到 settings.xml 文件中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<settings>
.
.
<proxies>
<proxy>
<id>example-proxy</id>
<active>true</active>
<protocol>http</protocol>
<host>proxy.example.com</host>
<port>8080</port>
<username>proxyuser</username>
<password>somepassword</password>
<nonProxyHosts>www.google.com|*.example.com</nonProxyHosts>
</proxy>
</proxies>
.
.
</settings>
  • Intellij 社区版,土豪们用收费版更好。也可以用 eclipse,但是个人推荐使用前者。

开始一个 Jenkins 插件开发项目

打开命令行终端,执行下面命令:

1
$ mvn -U org.jenkins-ci.tools:maven-hpi-plugin:create

这个命令需要你输入 groupid/artifactid 等信息后,会自动生成一个 jenkins 插件项目的框架。将该项目导入 IntelliJ,就可以开始 Jenkins 插件开发之旅了。其中这些命令会比较常用:

  • mvn package #将插件打包,可以部署到 Jenkins 服务器上。
  • mvn hpi:run #启动一个 jenkins 的测试环境,自动加载最新的插件代码,如此就可以快速的对修改做验证。