我对我的蚂蚁脚本有一些要求。
我的ant脚本从版本控制软件检出"mobile"
文件夹到"Nightly Build"
文件夹,我有一些要求:
如果在"Nightly Build"
文件夹中,有一个文件夹"mobile"
文件夹,我想通过重命名"mobile" + timestamp
"Nightly Build"
文件夹应始终仅包含7个此类"mobile"
文件夹。这意味着如果有8个"mobile"
,我将需要删除最早的"mobile"
文件夹
这是否可以在ANT脚本中执行(按顺序执行)以及如何执行此操作?
答案 0 :(得分:0)
建议 - 这只会删除超过七天的任何内容,而不是保留固定数量的版本。
<property name="builds.dir" value="Nightly Build" />
<property name="build.dir" value="mobile" />
<tstamp>
<format property="cutoff.7"
offset="-7"
unit="day"
pattern="MM/dd/yyyy hh:mm aa"/>
</tstamp>
<tstamp>
<format property="suffix"
pattern="yyyyMMddHHmmss"/>
</tstamp>
<move file="${builds.dir}/${build.dir}"
tofile="${builds.dir}/${build.dir}.${suffix}"
failonerror="false" />
<delete>
<dirset dir="${builds.dir}" id="old.dirs" includes="${build.dir}.*">
<date datetime="${cutoff.7}" when="before" checkdirs="yes" />
</dirset>
</delete>
</project>
有关详细信息,请参阅Ant tstamp
task和selectors。
答案 1 :(得分:0)
Martin Clayton可以为您提出正确答案。
但是,我建议您查看Jenkins进行构建处理。 Jenkins可以处理您提到的所有内容,并以独立于实现的方式执行。例如,如果更改了版本控制系统或更改了构建要求,该怎么办?您将被迫更改build.xml文件以保持同步。
使用Jenkins,您的build.xml文件仅用于构建。 Jenkins可以处理结账,构建,保存构建工件,报告错误以及测试和部署。因此,如果您更改版本控制或构建要求,而不是使用build.xml(并可能破坏它),您只需要更改Jenkins任务中的参数。
下载Jenkins并看看它。它设置简单,易于理解。此外,它包含许多可以扩展它的插件。想要发布Java Docs?想要运行Checkstyle或Findbugs?想看JUnit测试结果吗?你可以在詹金斯做到这一点。