【发布时间】:2010-12-28 22:37:24
【问题描述】:
我们正在尝试将构建过程自动化到我们的暂存服务器,但遇到了一个障碍,尽管它相当小。我们正在使用 VS2010 中内置的发布功能,提交到 Subversion,然后第 3 方应用程序 (Beanstalk) 会自动拉取更新的文件并将它们通过 FTP 传输到暂存服务器。
我们遇到的问题是我们似乎只有以下选择:
- (二恶之少)如果我们选择使用“用本地副本替换匹配的文件”,这很好用,但有一个例外:此选项不会删除从项目中删除的任何文件。这将导致旧时凌乱的文件出现垃圾和/或安全问题。
- 如果我们选择使用“在发布前删除所有现有文件”,这将删除整个文件夹结构,包括 Subversion 用于更新跟踪的 .SVN 隐藏文件夹等。从准确性的角度来看,这似乎是最好的解决方案,但它确实破坏了本地 SVN 环境,这是该自动化的中间人。
我的问题:是否有一个简单的解决方法,或者我们忽略了一个完全不同的部署选项(我们不想从 VS 直接发布到服务器,因为我们想跟踪谁/什么/何时部署发生)?我遇到的唯一事情是在发布之前手动删除文件内容,同时保持文件夹结构不变,然后使用“用本地副本替换匹配的文件”进行部署。不幸的是,这为“自动化”这个词带来了全新的含义。
关于如何最好地做到这一点的任何想法?
【问题讨论】:
-
完美的时机。我也在寻找解决方案。您是否尝试过解决解决方案配置和构建后事件?
-
完全没有 - 到目前为止,所有部署都是手动的,如果更改集很大,这可能会非常耗费人力。我简直不敢相信没有更好的内置选项可以在不破坏文件夹的情况下为您提供准确的构建。
标签: asp.net svn automation web-deployment one-click-web-publishing