备份文件夹并始终使用 ANT 拥有 7 个文件夹



我对我的 ant 脚本有一些要求。

我的 ant 脚本将"mobile"文件夹从版本控制软件签出到 "Nightly Build" 文件夹中,我有一些要求:

  1. 如果在"Nightly Build"文件夹中存在一个文件夹"mobile"文件夹,我想通过使用重命名文件夹来备份该旧文件夹"mobile" + timestamp

  2. "Nightly Build"文件夹应始终仅包含 7 个此类"mobile"文件夹。这意味着如果有 8 "mobile",我将需要删除最旧的"mobile"文件夹

这在 ANT 脚本(按顺序执行)中是否可行,我该怎么做?

建议 - 这只是删除任何超过七天的内容,而不是保留固定数量的构建。

<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任务和选择器。

Martin Clayton对你所问的问题有正确的答案。

但是,我建议你研究一下 Jenkins 的构建处理。Jenkins 可以处理你提到的所有事情,并且以一种独立于实现的方式完成。例如,如果您更改了版本控制系统或构建要求发生了变化,该怎么办?您将被迫更改构建.xml文件以跟上。

使用 Jenkins,您的 build.xml 文件仅用于构建。Jenkins 可以处理签出、构建、保存构建工件、报告错误以及测试和部署。因此,如果你改变了你的版本控制或构建要求,而不是破坏你的构建.xml(并可能破坏它),你只需要在 Jenkins 任务中更改一个参数。

下载 Jenkins 并查看它。它设置简单,易于理解。此外,它还包含数十个可以扩展它的插件。想要发布 Java 文档?想要运行 Checkstyle 或 Findbugs?想要查看 JUnit 测试结果?你可以在 Jenkins 中做到这一点。

相关内容

  • 没有找到相关文章

最新更新