使用CruiseControl.Net和SVN部署ASP.Net web应用程序--摆脱.SVN文件夹

使用CruiseControl.Net和SVN部署ASP.Net web应用程序--摆脱.SVN文件夹,asp.net,svn,cruisecontrol.net,Asp.net,Svn,Cruisecontrol.net,我有一个CruiseControl.Net项目,用于构建ASP.Net项目,使用一个任务从源代码管理中提取最新代码 成功构建后,我使用将站点复制到部署文件夹。我的问题是buildpublisher正在将所有内容复制到目标文件夹,包括每个.svn文件夹及其内容。在复制到部署文件夹之前,删除.svn文件夹的最简单方法是什么?您需要从svn导出以进行部署。使用带有arg=update的svn exe,而不是通常的arg=up设置 这将把文件导出到部署目录,删除需要从svn导出以进行部署的svn文件夹。

我有一个CruiseControl.Net项目,用于构建ASP.Net项目,使用一个任务从源代码管理中提取最新代码


成功构建后,我使用将站点复制到部署文件夹。我的问题是buildpublisher正在将所有内容复制到目标文件夹,包括每个.svn文件夹及其内容。在复制到部署文件夹之前,删除.svn文件夹的最简单方法是什么?

您需要从svn导出以进行部署。使用带有arg=update的svn exe,而不是通常的arg=up设置


这将把文件导出到部署目录,删除需要从svn导出以进行部署的svn文件夹。使用带有arg=update的svn exe,而不是通常的arg=up设置


这将把您的文件导出到部署目录,删除svn文件夹

我将这些行用于web部署项目。也许您可以根据自己的目的对其进行调整(MsBuild对我来说是一个巨大的奇迹)


我将这些行用于web部署项目。也许您可以根据自己的目的对其进行调整(MsBuild对我来说是一个巨大的奇迹)


一个简单的解决方案(如果它适合您): 在任务块之后、发布服务器之前添加步骤

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

svn.exe
c:\path\u to\u my\u svn\
导出MyWorkingCopyPath MyTemporaryPath
SVN将工作副本MyWorkingCopyPath(仅限版本控制下的项目)复制到目标文件夹MyTemporaryPath

在publisher中,必须将源更改为MyTemporaryPath

因此,只需再添加一项任务。

一个简单的解决方案(如果它适合您): 在任务块之后、发布服务器之前添加步骤

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

svn.exe
c:\path\u to\u my\u svn\
导出MyWorkingCopyPath MyTemporaryPath
SVN将工作副本MyWorkingCopyPath(仅限版本控制下的项目)复制到目标文件夹MyTemporaryPath

在publisher中,必须将源更改为MyTemporaryPath


因此,只需再添加一项任务。

谢谢。我使用了这个建议的一个修改版本来让它工作。我实际上需要在构建之前进行导出,并将构建任务设置为使用MyTemporaryPath的内容。否则,如果导出是在生成之后完成的,则只复制原始源文件,而留下Bin文件夹。我希望有一种方法可以让源代码管理任务自动执行导出,但这是可行的。谢谢。我使用了这个建议的一个修改版本来让它工作。我实际上需要在构建之前进行导出,并将构建任务设置为使用MyTemporaryPath的内容。否则,如果导出是在生成之后完成的,则只复制原始源文件,而留下Bin文件夹。我希望有一种方法可以让源代码管理任务自动进行导出,但这是可行的。