如何在使用ant和jenkins构建后更新buildversion.txt文件



我使用jenkins执行一个ant xml文件。我必须在开战前更新versionbuild.txt文件信息。我的主要任务是初始化、清理、准备、编译、战争在制造战争之前,我想访问一些参数,如date_of_build, build_number, jdk_compiler, compiler_platform, build_person。在名为versionbuild.txt的文本文件中更新这些文件并归档到war.

我正在我的一个构建脚本中做类似的事情。基本上是创建一个属性文件,我把它作为资源放在源文件夹中。下面是代码片段:

<target name="init">
  <!-- Format the build number to a 4 figures integer with leading zeroes if required -->
  <!-- The build number is also incremented by 1                                      -->
  <propertyfile file="${build.number.file}">
    <entry key="build.number" type="int" default="0000" operation="+" pattern="0000" />
  </propertyfile>
  <!-- Read the build number -->
  <property file="${build.number.file}"/>
  <!-- create the build date and time with time zone -->
  <tstamp>
    <format property="readable.now" pattern="yyyy-MM-dd hh:mm z"/>
  </tstamp>
  <!-- Write thebuild and version information to a resource file -->
  <!-- The resource file will be part of the corresponding jar   -->
  <propertyfile file="${node}/src/resources/META-INF/jppf-version.properties">
    <entry key="version.number" type="string" value="${version.number}"/>
    <entry key="build.number" type="string" value="${build.number}"/>
    <entry key="build.date" type="string" value="${readable.now}"/>
  </propertyfile>
</target>
生成的文件如下所示:
#Wed, 30 Apr 2014 07:45:12 +0200
version.number=4.2 alpha
build.number=1352
build.date=2014-04-30 07:45 CEST

显然,您需要的一些数据不在其中,但是您可以轻松地将它们添加为<entry>元素,使用相应的系统属性名称作为值,例如:

<propertyfile file="${path.to}/versionbuild.txt">
  <entry key="build_number" type="string" value="${build.number}"/>
  <entry key="date_of_build" type="string" value="${readable.now}"/>
  <entry key="jdk_compiler" type="string" value="${java.vm.version}"/>
  <entry key="jdk_compiler" type="string" value="${os.name}"/>
  <entry key="build_person" type="string" value="${user.name}"/>
</propertyfile>

相关内容

  • 没有找到相关文章

最新更新