![](/img/trans.png)
[英]BuildNumber not generated with buildnumber-maven-plugin
[英]How does buildnumber-maven-plugin work?
我具有以下配置來創建內部版本號並將其保存在MANIFEST.MF中。 生成過程將生成一個buildNumber.properties,並從中跟蹤上一次生成。 但是,我認為應該將此文件提交回GIT,作為存儲buildNumber的一部分。 這種理解正確嗎? 還是有其他方法可以做到這一點?
建立目標
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
如果你提交你的buildNumber.properties文件,你會得到每個開發和持續集成builde如果你建立你的檢驗和別人做他們的構建EXCEPT之間增加一個版本號。 你們都將增加內部版本號。 當你們中的一個提交文件並推送時,你們中的哪個獲勝? 該項目當前的內部版本號是多少?
我認為將增量內部版本號視為“特定克隆的內部版本號”比在整個項目中保持不變的版本號更為准確。
如果您使用git或svn或與buildnumber集成的任何其他SCM,則可以使用SCM提交ID作為內部版本號,而不是整數。 它由SCM固有地存儲,並准確顯示了構建的提交內容。 我更喜歡這樣做,因為通過查看清單文件或JAR名稱,我可以立即跳轉到正確的提交以對問題進行分類或確定用戶是否正在使用過時的版本。
另一個好的問題涵蓋了buildnumber插件的一些細節,並提供了其他資源: Maven內部版本號插件,如何將內部版本號保存在文件中?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.