2008-09-22 34 views
0

我們在ASP.NET應用程序上安裝了CC.NET安裝程序。當我們構建項目時,ASP.NET應用程序被預先編譯並複製到網絡共享中,服務器從中運行應用程序。CruiseControl.NET構建後操作

服務器是從開發box'es有點不同,而且在我們的升級環境中的下一個服務器的不同,甚至更多。區別在於特定的配置文件等 - 所以我想排除某些文件 - 或者在將預編譯的應用程序複製到網絡共享之前刪除它們。

我的配置文件看起來像這樣:

<project name="Assembly.Web.project"> 
    <triggers> 
     <intervalTrigger seconds="3600" /> 
    </triggers> 
    <sourcecontrol type="svn"> 
     <trunkUrl>svn://svn-server/MyApp/Web/Trunk</trunkUrl> 
     <workingDirectory>C:\build-server\Assembly\Web\TEST-HL</workingDirectory> 
    <executable>C:\Program Files (x86)\SVN 1.5 bin\svn.exe</executable> 
    <username>uid</username> 
    <password>pwd</password> 
    </sourcecontrol> 
    <tasks> 
     <msbuild> 
      <executable>C:\Windows\Microsoft.NET\Framework64\v3.5\MSBuild.exe</executable> 
      <workingDirectory>C:\build-server\Assembly\Web\TEST-HL</workingDirectory> 
      <projectFile>C:\build-server\Assembly\Web\TEST-HL\Web\Web.sln</projectFile> 
      <buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs> 
      <targets>Build</targets> 
      <timeout>900</timeout> 
      <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 
     </msbuild> 
    </tasks> 
    <publishers> 
     <buildpublisher> 
      <sourceDir>C:\build-server\Assembly\Web\PrecompiledWeb</sourceDir> 
      <publishDir>\\test-web01\Web</publishDir> 
      <useLabelSubDirectory>false</useLabelSubDirectory> 
      <alwaysPublish>false</alwaysPublish> 
     </buildpublisher>   
    </publishers> 
</project> 

正如你所看到的,我用一個buildPublisher到預編譯的文件複製到網絡共享。我想在這裏做的是:1)在複製之前刪除某些文件; 2)在複製之後替換這些文件。

我不希望有一些應用程序的運行看變更特定的文件,並在那之後替換其他的文件。我希望某些東西要麼由CC.NET完成,要麼由CC.NET觸發。

你能啓動與CC.NET .bat文件?

回答

3

我使用的是NAnttask所有發佈,部署,打掃衛生等。

+0

此鏈接不再有效。 NANT xml標籤在CCNET配置文件中放在哪裏?我無法弄清楚...... – D3vtr0n 2011-03-09 23:47:58

0

當然CruiseControl.NET可以運行一個批處理文件,只需使用exec任務的問題。但是,更簡單的答案可能只是讓MSBuild爲您完成任務。在postcompile目標中添加幾個步驟應該很簡單。

相關問題