目標:開發(fā)一款Jenkins插件,提供下圖的網(wǎng)頁界面存儲項目構(gòu)建參數(shù),并保存在Slave打包機上的Jenkins工作目錄下哼御,以供后續(xù)Job讀取使用
image.png
一、開發(fā)環(huán)境:JDK + MAVEN
開發(fā)環(huán)境要求:
JDK版本要求在1.6以上焊唬,Maven官方要求版本在3以上
-
下載maven
https://maven.apache.org/download.cgi
image.png 配置文件
C:\Users\xxx.m2文件夾下setting.xml
- 注意如果沒有此文件和文件夾請自行創(chuàng)建
- 注意localRepository是mvn依賴庫下載存放位置恋昼,可以自行指定
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<!-- 指定本地倉庫的存放地址,可選 -->
<localRepository>E:\Documents\AppData\maven-repository</localRepository>
<!-- 下面的東西都不用管知道不赶促,只需要copy就ok -->
<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>
- 下載jenkins java開發(fā)主程序jenkins.war
https://jenkins.io/zh/download/
image.png
jenkins工作目錄默認在C:\Users\xxx.jenkins
需要指定目錄請配置環(huán)境變量"JENKINS_HOME "
cd 到jenkins.war所在目錄,執(zhí)行jar命令運行
java -jar jenkins.war
注意: 使用vscode液肌,似乎不需要這一步,vscode打開項目后鸥滨,會自己完成各種依賴的下載
包括jenkins.war
image.png
二嗦哆、創(chuàng)建Helloworld項目
切換到工作目錄,使用下面命令交互式創(chuàng)建項目
mvn archetype:generate -Dfilter=io.jenkins.archetypes:
上面命令正常情況應該在CMD里出現(xiàn)交互式項目創(chuàng)建過程婿滓,若長時間卡在Generating project in Interactive mode請常識下面的帶參數(shù)創(chuàng)建方式
mvn archetype:generate -DarchetypeArtifactId="hello-world-plugin" -DarchetypeGroupId="io.jenkins.archetypes" -DarchetypeVersion="1.5" -DarchetypeCatalog=internal
參數(shù)說明
- DarchetypeArtifactId: 插件id,也是項目文件夾名
- DarchetypeVersion: 版本,交互式創(chuàng)建過程中會以列表的形式供選擇
三老速、運行和調(diào)試
使用vscode(自帶maven插件)打開工作目錄
等待vscode自動解析pom.xml文件,并完成依賴文件下載凸主。運行/調(diào)試
運行
mvn hpi:run
調(diào)試
set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n
mvn hpi:run
在項目根目錄.vscode/launch.json配置文件添加JAVA調(diào)試配置
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Debug (Attach)",
"request": "attach",
"hostName": "localhost",
"port": "8000"
}
]
}
按F5啟動Attack模式調(diào)試
- 用瀏覽器訪問 http://localhost:8080/jenkins
創(chuàng)建項目并加載Say Hello插件(運行或者調(diào)試后橘券,插件已自動安裝)
運行查看插件效果(如果是調(diào)試啟動,可以斷點調(diào)試)