我是相当新的颠覆。 我的大部分工作,到目前为止已与Visual源安全。 我期待,以提高我的SVN和TeamCity的部署过程。 这是我的计划:
将有三个分支:
- 开发(/主干) - 整个ASP.NET解决方案,包括网络部署项目。
- 分期(/分支机构/分期) - Web部署项目输出(执行所需的文件,只 - 斌的.aspx,图像等)
- 部署(/分支机构/部署) - 同分期
该CI过程:
- 提交树干源的变化。
- TeamCity的检测到更改,构建溶液并运行单元测试。
- 如果通过了所有测试,TeamCity的承诺Web部署项目输出到分支/分期和出口它的wwwroot临时Web服务器上。
然后,当我已经准备好部署到生产环境,我会做手工执行以下操作:
- 合并分支/枝头分期/生产
- 更新分行/生产的生产Web服务器的工作副本。
这是否有意义? 有什么,像我这样的VSS用户可能会在这个过程中丢失/误解?
我已经写了关于如何与ASP.Net和网络部署项目做一个相当长的职位 - 听起来对你的胡同(不知道是不是我被允许发布此 - MODS的?):
http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn
后期的答案,但可以帮助该线程的读者:
我做了一些在线调查,结果发现一步一步的教程,可能与您的问题有所帮助。
这个教程覆盖持续集成(CI)和该装置的基本每当在所述源控制库中检测到新的变化建立一个新的数据库,对数据库运行指定的单元测试和测试数据库QA环境同步。
实现在数据库开发过程中的持续集成(CI)的必要前提是必须有源控制下的数据库。
这可能为你工作,但通常阶段是客户接受改变的地方。 如果部署在每个版本他们没有得到一致的行为。
我们不保持在SVN构建结果。 对我们来说,这是确定,只是有它的TeamCity下的文物。 如果我们在这一点上使用的最佳实践我不是舒尔。
你将与SVN和TeamCity的......好运气这么多的快乐!