создать резервную копию папки и всегда иметь 7 папок, используя ANT - PullRequest
1 голос
/ 11 мая 2011

У меня есть некоторые требования для моего скрипта муравья.

Мой скрипт ant выполняет извлечение папки "mobile" из программного обеспечения для контроля версий в папку "Nightly Build", и у меня есть некоторые требования:

  1. Если внутри папки "Nightly Build" есть папка "mobile", я бы хотел сделать резервную копию этой старой папки, переименовав папку с "mobile" + timestamp

  2. "Nightly Build" всегда должна содержать только 7 таких папок "mobile". Это означает, что если их будет 8 "mobile", мне нужно будет удалить самую старую папку "mobile"

Возможно ли это в скрипте ANT (выполняется последовательно) и как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 11 мая 2011

Мартин Клейтон имеет правильный ответ на то, что вы спрашиваете.

Тем не менее, я предлагаю вам посмотреть Jenkins для обработки вашей сборки. Jenkins может обрабатывать все, что вы упомянули, и делает это способом, независимым от реализации. Например, что если вы изменили системы контроля версий или изменились ваши требования к сборке? Вы будете вынуждены изменить свой файл build.xml, чтобы не отставать.

С Jenkins ваш файл build.xml предназначен только для сборки. Jenkins может обрабатывать заказы, создавать, сохранять артефакты сборки, сообщать об ошибках, тестировать и развертывать. Таким образом, если вы изменяете свой контроль версий или требования к сборке, вместо того, чтобы перебирать свой build.xml (и, возможно, нарушать его), вам нужно всего лишь изменить параметр в задаче Jenkins.

Скачайте Дженкинс и посмотрите на него. Это просто в настройке и легко понять. Кроме того, он содержит десятки плагинов, которые могут расширить его. Хотите опубликовать документы Java? Хотите запустить Checkstyle или Findbugs? Хотите увидеть результаты теста JUnit? Вы можете сделать это в Дженкинс.

0 голосов
/ 11 мая 2011

Предложение - это просто удаляет все, которые старше семи дней, вместо того, чтобы сохранять фиксированное количество сборок.

<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 и .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...