devops

Jenkins插件开发

2019-01-04  本文已影响0人  莫问君心

最近要开发一个Jenkins的插件,碰着不少坑,趁着映像还深记录下来。
也可以作为小白入门参考。

安装基本参考Jenkins官方文档来做的


环境准备:

Maven配置

修改settings.xml文件,分别添加以下三处配置:

<pluginGroups>
  <pluginGroup>org.jenkins-ci.tools</pluginGroup>
</pluginGroups>
<profiles>
  <profile>
    <id>jenkins</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <repositories>
      <repository>
        <id>repo.jenkins-ci.org</id>
        <url>https://repo.jenkins-ci.org/public/</url>
      </repository>
    </repositories>
    <pluginRepositories>
      <pluginRepository>
        <id>repo.jenkins-ci.org</id>
        <url>https://repo.jenkins-ci.org/public/</url>
      </pluginRepository>
    </pluginRepositories>
  </profile>
</profiles>
<mirrors>
  <mirror>
    <id>repo.jenkins-ci.org</id>
    <url>https://repo.jenkins-ci.org/public/</url>
    <mirrorOf>m.g.o-public</mirrorOf>
  </mirror>
</mirrors>

创建插件项目

选择以下两条maven命令中的一条生成Jenkins插件代码,过程中会提示你选择archtype及其版本信息等。
小白选手请选择生成hello-world-plugin,以便于理解如何玩转插件开发。

#生成helloworld插件
mvn archetype:generate -Dfilter=io.jenkins.archetypes:hello-world-plugin
#生成空插件项目
mvn archetype:generate -Dfilter=io.jenkins.archetypes:empty-plugin

注意:执行该命令可能会得到以下结果,并不出现提示交互,也不会生成maven项目。

[INFO] Generating project in Interactive mode
[WARNING] No archetype found in remote catalog. Defaulting to internal catalog
[INFO] Your filter doesn't match any archetype, so try again with another value.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 26.228 s
[INFO] Finished at: 2018-12-11T16:01:32+08:00
[INFO] ------------------------------------------------------------------------

这是因为maven在本地仓库根目录archetype-catalog.xml文件中没找到groupId为io.jenkins.archetypes的archetype,之后会在远端仓库的该文件中查找,如果还是没找到则出现上述问题。

解决方法:将archetype-catalog.xml文件下载到本地Maven仓库根目录即可,获取地址:
http://repo1.maven.org/maven2/archetype-catalog.xml
如果添加后,archetype-catalog.xml文件并未生效,可以在Maven的命令参数中指定该文件,命令示例:

mvn archetype:generate -Dfilter=io.jenkins.archetypes: -DarchetypeCatalog=file:///D:/repository/archetype-catalog.xml

之后即可进入刚刚生成的项目目录,执行打包。

mvn package
上一篇 下一篇

猜你喜欢

热点阅读