美文网首页CI-Jenkins
Jinkens plugin(builder type) dev

Jinkens plugin(builder type) dev

作者: 偏分武士 | 来源:发表于2019-08-20 10:03 被阅读0次

目标:开发一款Jenkins插件,提供下图的网页界面存储项目构建参数,并保存在Slave打包机上的Jenkins工作目录下,以供后续Job读取使用


image.png

一、开发环境:JDK + MAVEN

开发环境要求:
JDK版本要求在1.6以上,Maven官方要求版本在3以上

  1. 下载maven
    https://maven.apache.org/download.cgi

    image.png
  2. 配置文件
    C:\Users\xxx.m2文件夹下setting.xml

  • 注意如果没有此文件和文件夹请自行创建
  • 注意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>
  1. 下载jenkins java开发主程序jenkins.war
    https://jenkins.io/zh/download/
    image.png
    jenkins工作目录默认在C:\Users\xxx.jenkins
    需要指定目录请配置环境变量"JENKINS_HOME "
    cd 到jenkins.war所在目录,执行jar命令运行
java -jar jenkins.war

注意: 使用vscode,似乎不需要这一步,vscode打开项目后,会自己完成各种依赖的下载
包括jenkins.war


image.png

二、创建Helloworld项目

切换到工作目录,使用下面命令交互式创建项目

mvn archetype:generate -Dfilter=io.jenkins.archetypes:

上面命令正常情况应该在CMD里出现交互式项目创建过程,若长时间卡在Generating project in Interactive mode请常识下面的带参数创建方式

mvn archetype:generate -DarchetypeArtifactId="hello-world-plugin" -DarchetypeGroupId="io.jenkins.archetypes" -DarchetypeVersion="1.5" -DarchetypeCatalog=internal

参数说明

  • DarchetypeArtifactId: 插件id,也是项目文件夹名
  • DarchetypeVersion: 版本,交互式创建过程中会以列表的形式供选择

三、运行和调试

  1. 使用vscode(自带maven插件)打开工作目录
    等待vscode自动解析pom.xml文件,并完成依赖文件下载。

  2. 运行/调试
    运行

mvn hpi:run

调试

set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n
mvn hpi:run

在项目根目录.vscode/launch.json配置文件添加JAVA调试配置

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java",
            "name": "Debug (Attach)",
            "request": "attach",
            "hostName": "localhost",
            "port": "8000"
        }
    ]
}

按F5启动Attack模式调试

  1. 用浏览器访问 http://localhost:8080/jenkins
    创建项目并加载Say Hello插件(运行或者调试后,插件已自动安装)
    运行查看插件效果(如果是调试启动,可以断点调试)

相关文章

网友评论

    本文标题:Jinkens plugin(builder type) dev

    本文链接:https://www.haomeiwen.com/subject/qqlusctx.html