我有一個CruiseControl.Net項目建立一個ASP.Net項目,使用< svn>任務拉最新代碼來自源代碼管理。部署與CruiseControl.Net和SVN的ASP.Net Web應用程序 - 擺脫.svn文件夾
成功構建時,我使用< buildpublisher>將站點複製到部署文件夾。我的問題是,buildpublisher正在將所有內容複製到目標文件夾,包括每個.svn文件夾及其內容。複製到部署文件夾之前刪除.svn文件夾的最簡單方法是什麼?
我有一個CruiseControl.Net項目建立一個ASP.Net項目,使用< svn>任務拉最新代碼來自源代碼管理。部署與CruiseControl.Net和SVN的ASP.Net Web應用程序 - 擺脫.svn文件夾
成功構建時,我使用< buildpublisher>將站點複製到部署文件夾。我的問題是,buildpublisher正在將所有內容複製到目標文件夾,包括每個.svn文件夾及其內容。複製到部署文件夾之前刪除.svn文件夾的最簡單方法是什麼?
一個簡單的解決方案(如果你的作品): 添加了一步任務塊之後,發佈商。
<exec>
<executable>svn.exe</executable>
<baseDirectory>c:\path_to_my_svn\</baseDirectory>
<buildArgs>export MyWorkingCopyPath MyTemporaryPath </buildArgs>
</exec>
SVN將工作副本MyWorkingCopyPath(僅版本控制下的項目)複製到目標文件夾MyTemporaryPath。
而在發佈者中,您必須將源更改爲MyTemporaryPath。
因此,它只需添加1個任務。
您需要從svn導出進行部署。使用與ARG =更新了svn exe文件,而不是通常ARG =上設置
這將你的文件導出到您的部署目錄,刪除了svn文件夾
我用這個線網絡部署項目。也許你能適應它爲你的目的(的MSBuild是一大奇蹟對我來說)
<ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<ExcludeFromBuild Include="$(SourceWebPhysicalPath)\obj\**\*.*" />
<ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\.svn\**\*.*" />
<ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\.svn\**\*" />
</ItemGroup>
謝謝。我使用這個建議的修改版本來使它工作。我實際上需要在構建之前執行導出,並將構建任務設置爲使用MyTemporaryPath的內容。否則,如果在生成後完成導出,則只會複製原始源文件,並且Bin文件夾會被留下。 我希望有一種方法可以讓源代碼控制任務自動執行導出,但這是有效的。 – 2010-05-10 17:11:30