从Subversion部署网站

从Subversion部署网站

问题描述:

我是颠覆的新手,我想知道你是如何从开发转向分期制作的?从Subversion部署网站

我想我掌握创建分支制作的分支的概念为detailed here。但是,我如何实际部署分支?

理想情况下,我可以建立一个新的网站,并从分支复制文件,但我担心复制任何svn绑定到生产中。

如果它是相关的,这是一个Visual Studio网站项目,我使用VisualSVN服务器,TortoiseSVN和Ankh与Visual Studio集成。

svn export

导出你想要做一个svn export排除所有的颠覆克鲁夫特

您的构建系统中需要某种“部署”目标,忽略名为.svn的文件夹 - 即所有subversion信息所在的位置。

的文件。这将导出全部没有.svn目录的代码。

这听起来像你会想要做一个SVN导出的“释放”分支。详情请参阅the Subversion Book's Export documentation

除非您将在单独的分支上开发,否则我只会使用tag来标记发布。

然后,您将需要执行该标记的svn export,以便您不再需要全部额外的.svn文件夹。

你在这里错过了一件,基本上 - 你不应该单独使用subversion来部署测试和生产。最好的办法是使用某种脚本来从Subversion中获取内容(如果使用svn导出,它不会带来Subversion文件钩子),创建任何必需的文件(使用MSBuild,可以编写脚本),删除不必要的文件(比如自建立以来的.aspx.cs文件),并将其复制到您的环境中。

在本地,我们使用powershell将所有内容粘合在一起,并将svn命令行,MSBuild和nUnit的组合从命令行中进行构建。

+1

优点约翰 - 除非它是一个非常简单的设置,否则可能不仅仅是一个简单的“导出”所需。除了描述的“pull”类型操作(脚本触发svn导出的地方)之外,我还看到了一个放置在存储库中的“deploy”脚本。即要更新的过程是1)执行导出。 2)运行部署脚本(通常以交互模式运行)。在一个案例中,它实际上是一个“部署”页面。 – 2009-11-30 21:36:52

+0

这是一个好点,但这实际上是一个简单的设置。所以不需要让事情过于复杂。 – plntxt 2009-11-30 23:39:59

我处理它的方式是我使用一个构建工具(如蚂蚁+常春藤或行家)自动检查所述代码出来颠覆的过程中,建立一个伪影,然后部署到哪里需要。

我在java方面工作比较多,所以不熟悉.net工具,也许你可以用nmaven?

旧的线程,但现在这个改变了一点,因为SVN在项目的根目录中只有一个.svn文件?你也可以设置Apache忽略.svn请求,这使得部署这种方式更加可行?