2010-11-26 51 views
4

我維護一個構建系統,它使用一個目錄中的svnant來更新另一個目錄中的大量項目。然後移動到其中一個已更新的項目中,並執行實際構建。使用svnant更新build.xml文件所在的目錄是否安全?

從主項目開始做一切安全嗎?主項目是否可以使用svnant來更新自己,或者如果svn需要更新ant當前使用的build.xml文件,會不會有問題?

回答

0

如果不採取(如果磁盤空間不是問題)過多的磁盤空間,你可以有兩個工作目錄:

  • 一個在那裏你「svnant」任何你想要的
  • 一個在你啓動構建的地方,除了任何啓動之前都會有一個rsynch,以便從第一個工作目錄到第二個工作目錄導入任何修改。

換句話說,你會修改之前啓動任何構建。

1

對於自更新的主項目build.xml - 您可能在運行Subversion更新和一次構建時遇到問題。問題的性質取決於build.xml的變化。只需重新運行構建可能會修復它,因爲build.xml Ant在啓動時加載將是最新的。

如果您確實需要可靠地更新build.xml並一次執行構建,則可以考慮將構建的後期部分包含在antcall任務中。當Ant運行antcall的目標時,它會重新讀取build.xml,因此在調用Ant之後對該文件所做的任何更改都將被記錄。 Antcall從頭開始處理,所以如果你有(可能是昂貴的)初始化,這些需要再次運行。

相關問題