最近要開發(fā)一個Jenkins的插件,碰著不少坑,趁著映像還深記錄下來。
也可以作為小白入門參考。
安裝基本參考Jenkins官方文檔來做的
環(huán)境準(zhǔn)備:
- Maven 3.x(命令行執(zhí)行
mvn -v可看到版本) - JDK 1.8
- IDEA/Eclipse
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>
創(chuàng)建插件項目
選擇以下兩條maven命令中的一條生成Jenkins插件代碼,過程中會提示你選擇archtype及其版本信息等。
小白選手請選擇生成hello-world-plugin,以便于理解如何玩轉(zhuǎn)插件開發(fā)。
#生成helloworld插件
mvn archetype:generate -Dfilter=io.jenkins.archetypes:hello-world-plugin
#生成空插件項目
mvn archetype:generate -Dfilter=io.jenkins.archetypes:empty-plugin
注意:執(zhí)行該命令可能會得到以下結(jié)果,并不出現(xiàn)提示交互,也不會生成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,之后會在遠(yuǎn)端倉庫的該文件中查找,如果還是沒找到則出現(xiàn)上述問題。解決方法:將
archetype-catalog.xml文件下載到本地Maven倉庫根目錄即可,獲取地址:
http://repo1.maven.org/maven2/archetype-catalog.xml
如果添加后,archetype-catalog.xml文件并未生效,可以在Maven的命令參數(shù)中指定該文件,命令示例:mvn archetype:generate -Dfilter=io.jenkins.archetypes: -DarchetypeCatalog=file:///D:/repository/archetype-catalog.xml
之后即可進(jìn)入剛剛生成的項目目錄,執(zhí)行打包。
mvn package