2010-05-07 43 views
1

我有一個CruiseControl.Net項目建立一個ASP.Net項目,使用< svn>任務拉最新代碼來自源代碼管理。部署與CruiseControl.Net和SVN的ASP.Net Web應用程序 - 擺脫.svn文件夾

成功構建時,我使用< buildpublisher>將站點複製到部署文件夾。我的問題是,buildpublisher正在將所有內容複製到目標文件夾,包括每個.svn文件夾及其內容。複製到部署文件夾之前刪除.svn文件夾的最簡單方法是什麼?

回答

0

一個簡單的解決方案(如果你的作品): 添加了一步任務塊之後,發佈商。

<exec> 
    <executable>svn.exe</executable> 
    <baseDirectory>c:\path_to_my_svn\</baseDirectory> 
    <buildArgs>export MyWorkingCopyPath MyTemporaryPath </buildArgs> 
</exec> 

SVN將工作副本MyWorkingCopyPath(僅版本控制下的項目)複製到目標文件夾MyTemporaryPath

而在發佈者中,您必須將源更改爲MyTemporaryPath

因此,它只需添加1個任務。

+0

謝謝。我使用這個建議的修改版本來使它工作。我實際上需要在構建之前執行導出,並將構建任務設置爲使用MyTemporaryPath的內容。否則,如果在生成後完成導出,則只會複製原始源文件,並且Bin文件夾會被留下。 我希望有一種方法可以讓源代碼控制任務自動執行導出,但這是有效的。 – 2010-05-10 17:11:30

1

您需要從svn導出進行部署。使用與ARG =更新了svn exe文件,而不是通常ARG =上設置

這將你的文件導出到您的部署目錄,刪除了svn文件夾

0

我用這個線網絡部署項目。也許你能適應它爲你的目的(的MSBuild是一大奇蹟對我來說)

<ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'"> 
<ExcludeFromBuild Include="$(SourceWebPhysicalPath)\obj\**\*.*" /> 
<ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\.svn\**\*.*" /> 
<ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\.svn\**\*" /> 
</ItemGroup>