美文网首页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