我们从詹金斯1.609升级到2.106。发布时,我们希望以1(自项目开始以来的版本数)开始作业内部版本号。我们使用ant脚本来更新config.xml文件,但是在Jenkins 2中不起作用。自v 1.0起,XML文件的布局发生了一些变化。
虽然我认为我不再想执行“替换”(因为没有要替换的内容,并且我尝试了此方法的多种变体),但我不确定要使用的语法和参数在此处放置一个值“ 1”。我认为我应该使用Insert,但要使用什么参数。
这是蚂蚁代码...
<target name="replace.builds.all.time">
<copy file="${BuildConfigPath}" tofile="${BuildConfigPath}.bak" overwrite="true" force="true" />
<xmltask source="${BuildConfigPath}" dest="${BuildConfigPath}">
<replace path="/project/buildWrappers/org.jvnet.hudson.tools.versionnumber.VersionNumberBuilder/versionNumberString/text()" withText="${VersionNumberString}"/>
<replace path="/project/buildWrappers/org.jvnet.hudson.tools.versionnumber.VersionNumberBuilder/oBuildsAllTime/text()" withText="${BuildsAllTime}"/>
</xmltask>
</target>
第二个“替换”行是问题所在。
1.0 config.xml代码如下所示。您可以看到oBuildsAllTime具有实际值...
<buildWrappers>
<org.jvnet.hudson.tools.versionnumber.VersionNumberBuilder plugin="versionnumber@1.4.1">
<versionNumberString>${VERSION_NUMBER}</versionNumberString>
<projectStartDate>1969-12-31 05:00:00.0 UTC</projectStartDate>
<environmentVariableName>VERSION_NUMBER</environmentVariableName>
<oBuildsToday>-1</oBuildsToday>
<oBuildsThisMonth>-1</oBuildsThisMonth>
<oBuildsThisYear>-1</oBuildsThisYear>
<oBuildsAllTime>-1</oBuildsAllTime>
<skipFailedBuilds>false</skipFailedBuilds>
<useAsBuildDisplayName>true</useAsBuildDisplayName>
</org.jvnet.hudson.tools.versionnumber.VersionNumberBuilder>
<EnvInjectPasswordWrapper plugin="envinject@1.92.1">
<injectGlobalPasswords>true</injectGlobalPasswords>
<maskPasswordParameters>false</maskPasswordParameters>
<passwordEntries/>
</EnvInjectPasswordWrapper>
</buildWrappers>
2.0 config.xml的不同之处在于0BuildsAllTime没有值...
<buildWrappers>
<hudson.plugins.timestamper.TimestamperBuildWrapper plugin="timestamper@1.8.9"/>
<org.jvnet.hudson.tools.versionnumber.VersionNumberBuilder plugin="versionnumber@1.9">
<versionNumberString>10.1.09.${BUILDS_ALL_TIME}</versionNumberString>
<projectStartDate>1969-12-31 05:00:00.0 UTC</projectStartDate>
<environmentVariableName>VERSION_NUMBER</environmentVariableName>
<environmentPrefixVariable/>
<oBuildsToday/>
<oBuildsThisWeek/>
<oBuildsThisMonth/>
<oBuildsThisYear/>
<oBuildsAllTime/>
<worstResultForIncrement>SUCCESS</worstResultForIncrement>
<skipFailedBuilds>false</skipFailedBuilds>
<useAsBuildDisplayName>true</useAsBuildDisplayName>
</org.jvnet.hudson.tools.versionnumber.VersionNumberBuilder>
</buildWrappers>
我希望能够使用蚂蚁代码将新的内部版本号插入config.xml文件。