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

Jinkens plugin(builder type) dev

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

Hello world项目文件和结构简单说明

1. pom.xml文件

maven项目的配置文件,定义项目属性和依赖关系
可以修改以下几个项目,其他无需修改

  • <artifactId>helloworld</artifactId>
    插件id
  • <version>1.0-SNAPSHOT</version>
    插件版本
    <name>TODO Plugin</name>
    插件名

2. 项目主要目录和文件

image.png

其中_de _es等文件是多语言本地化文件,为避免干扰可以全部删除只保留一个
删除后的视图如下


image.png
  • HelloWorldBuilder/config.jelly 网页配置文件
    jelly是扩展的xml,可以访问本地化变量
    例如title="${%Name}访问了config.properties文件中的Name
    field="name"访问了HelloWorldBuild.java文件中HelloWorldBuilder类的private final String name;变量
  • HelloWorldBuild.java 数据存取和逻辑处理文件
    其中有@DataBoundConstructor标签的是数据存储接口,在插件UI上填写数据后点击保存,将访问对应的数据存储接口
    例如,在网页上勾选Use French的Check Box之后点击保存,将会访问下面的方法。
@DataBoundSetter
    public void setUseFrench(boolean useFrench) {
        this.useFrench = useFrench;
    }

存储器命名规则为: set + 变量名(首字母大写)
对应的数据读取函数命名规则为get + 变量名(首字母大写)
例如,配置网页上的name字段并保存,刷新页面将会调用下面的方法获取name值用来显示。

public String getName() {
        return name;
    }

3. config.properties

config.jelly中使用的本地化变量定义在这里
例如title="${%Name}的Name变量

4. Message.properties

这里定义的变量会自动生成到target目录下的Message.java
以便java文件调用


image.png

例如HelloWorldBuilder.java中的错误提示Messages.HelloWorldBuilder_DescriptorImpl_errors_missingName()

  1. HelloWorldBuilder/help-name.html
    网页上name字段的帮助文档,命名规则为help-变量名.html

  2. work/jobs/test/config.xml
    插件数据持久化文件,插件上的数据填写并保存后会存储在这里
    例子

<?xml version='1.1' encoding='UTF-8'?>
<project>
  <actions/>
  <description></description>
  <keepDependencies>false</keepDependencies>
  <properties/>
  <scm class="hudson.scm.NullSCM"/>
  <canRoam>true</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <triggers/>
  <concurrentBuild>false</concurrentBuild>
  <builders>
    <io.jenkins.plugins.apkpacker.ApkPacker plugin="apk-packer@1.0.1">
      <pluginOn>true</pluginOn>
      <keystore>2</keystore>
      <appid>1</appid>
      <userid>3</userid>
      <channelConfigs>
        <io.jenkins.plugins.apkpacker.ChannelConfig>
          <isOn>true</isOn>
          <name>4</name>
          <platformConfigs>
            <io.jenkins.plugins.apkpacker.PlatformConfig>
              <name>5</name>
              <versionNo>6</versionNo>
            </io.jenkins.plugins.apkpacker.PlatformConfig>
          </platformConfigs>
          <pluginConfigs>
            <io.jenkins.plugins.apkpacker.PluginConfig>
              <name>7</name>
              <versionNo>8</versionNo>
            </io.jenkins.plugins.apkpacker.PluginConfig>
          </pluginConfigs>
        </io.jenkins.plugins.apkpacker.ChannelConfig>
      </channelConfigs>
    </io.jenkins.plugins.apkpacker.ApkPacker>
  </builders>
  <publishers/>
  <buildWrappers/>
</project>
  1. work/workspace目录
    windows上开发时的Jenkins工作目录。

相关文章

网友评论

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

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