【问题标题】:How does buildnumber-maven-plugin work?buildnumber-maven-plugin 是如何工作的?
【发布时间】:2018-08-10 18:44:49
【问题描述】:

我有以下配置来创建内部版本号并将其保存在 MANIFEST.MF 中。构建过程会生成一个 buildNumber.properties 并跟踪它的最后构建。但是,我认为这个文件应该作为存储 buildNumber 的一部分提交回 GIT。这种理解正确吗?或者还有其他方法可以实现吗?

构建目标

mvn clean package

pom.xml

<scm>
<connection>scm:git:https://abc.xyz.com/#projects/scm/DOCKER-AbcServer.git</connection>
</scm>

<plugins>
  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>buildnumber-maven-plugin</artifactId>
    <version>1.4</version>
    <executions>
      <execution>
        <phase>validate</phase>
        <goals>
          <goal>create</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <format>{0,number}</format>
      <items>
        <item>buildNumber0</item>
      </items>
      <doCheck>true</doCheck>
      <doUpdate>true</doUpdate>
    </configuration>
  </plugin>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.1.0</version>
    <configuration>
      <archive>
        <manifest>
          <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
        </manifest>
        <manifestEntries>
          <Build-Number>${project.version}-r${buildNumber}</Build-Number>
          <Build-SCMBranch>${scmBranch}</Build-SCMBranch>
          <Build-Time>${maven.build.timestamp}</Build-Time>
        </manifestEntries>
      </archive>
    </configuration>
  </plugin>
</plugins>

buildNumber.properties

#maven.buildNumber.plugin properties file
#Fri Aug 10 10:49:49 PDT 2018
buildNumber0=2

【问题讨论】:

    标签: java maven buildnumber-maven-plugin


    【解决方案1】:

    如果您提交您的 buildNumber.properties 文件,您将获得一个在每个开发人员和持续集成构建之间递增的构建编号除了,如果您在结帐时构建并且其他人进行构建。你们都将增加内部版本号。当你们中的一个提交文件并推送时,你们中的哪一个获胜?该项目的当前内部版本号是多少?

    我认为将增量内部版本号视为“特定克隆的内部版本号”而不是在整个项目中保持不变的版本号更为准确。

    如果您使用 git 或 svn 或与 buildnumber 集成的任何其他 SCM,您可以使用 SCM 提交 id 作为 build 编号而不是整数。这本质上由 SCM 存储,并准确显示构建的提交。我更喜欢这个,因为通过查看清单文件或 JAR 名称,我可以立即跳转到正确的提交以对问题进行分类或确定用户是否使用过时的构建。

    另一个很好的问题涵盖了 buildnumber 插件的一些细节并提供了额外的资源:@​​987654321@

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-15
      • 1970-01-01
      • 2018-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多