2010-05-07 79 views
2

我們與存儲在媒體文件夾中的所有媒體(CSS /圖片)一個網站。媒體文件夾和95個子目錄包含約400個文件。我們有一個Cruiscontrol項目,它只監視媒體目錄中的更改,並在觸發時將這些文件複製到我們的集成服務器。的CruiseControl/NANT <copy>任務

不幸的是,我們的集成服務器是在遠程位置,因此即使在複製文件2-3的NANT任務花費4+分鐘。我相信純粹的數字或目錄/文件和我們的網絡延遲的組合導致NANT任務運行緩慢。我相信它是比較每個文件的本地和遠程副本的修改日期。

我真的想加快速度,我最初的想法是,而不是試圖複製整個媒體文件夾,我可以從CruiseControl獲得文件修改列表,並專門複製這些文件,而不是保存NANT任務的工作必須比較他們所有的變化。

有沒有辦法做我要求還是有更好的方法來完成相同的性能提升?

回答

2

這聽起來像RoboCopy工作。使用NAnt引導執行並讓RC執行文件同步。

更新:深入挖掘CCNet文檔,您會發現the <modificationWriter/> task。將此任務添加到您的ccnet項目將寫出一個包含所有修改信息的xml文件。您應該能夠在您的NAnt腳本中讀入該文件的內容。這裏的一個建議是使用the NAnt <style/> task來修改XML轉換爲包含copydelete任務南特腳本。

+0

這是在我們的網絡,以及由於ROBOCOPY仍然必須從源頭和目標目錄時間戳慢。我真的很想獲得修改後的文件列表並移動它們。 – Striker 2010-05-13 20:00:51

+0

@Striker:看到我更新的答案,認爲這就是你要做的。 – 2010-05-14 08:50:00