2011-05-11 30 views
1

我對我的螞蟻腳本有一些要求。備份文件夾,並始終有7個文件夾使用ANT

我的Ant腳本不會檢查出的版本控制軟件"mobile"文件夾成一個"Nightly Build"文件夾,我有一些要求:

  1. 如果"Nightly Build"文件夾內,存在一個文件夾"mobile"文件夾,我會想通過重命名該文件夾來備份該較舊的文件夾"mobile" + timestamp

  2. "Nightly Build"文件夾應該始終包含7個這樣的文件夾"mobile"。這意味着,如果有8個"mobile",我將需要刪除最早"mobile"文件夾

這是可能的Ant腳本(按順序執行),以及如何做呢?

回答

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> 

見螞蟻tstamp taskselectors的更多細節。

0

Martin Clayton對於你所問的問題有正確的答案。

但是,我建議你看看Jenkins爲您的生成處理。詹金斯可以處理您提到的所有事情,並以獨立於實施的方式進行處理。例如,如果您更改了版本控制系統或更改了構建要求,該怎麼辦?您將被迫更改您的build.xml文件以跟上。

與Jenkins一樣,您的build.xml文件僅用於構建。 Jenkins可以處理結帳,構建,保存構建工件,報告錯誤以及測試和部署。因此,如果您更改版本控制或構建需求,而不是使用build.xml(可能會破壞它),則只需要更改Jenkins任務中的參數。

下載詹金斯,看看它。設置簡單,易於理解。另外,它包含數十個可以擴展它的插件。想要發佈Java文檔?想運行Checkstyle或Findbugs?想要查看JUnit測試結果嗎?你可以在詹金斯那樣做。