4

我对 Subversion 还很陌生。到目前为止,我的大部分工作都是使用 Visual Source Safe。我希望使用 SVN 和 TeamCity 改进我的部署过程。这是我的计划:

会有三个分支:

  1. 开发 (/trunk) - 整个 ASP.NET 解决方案,包括 Web 部署项目。
  2. Staging (/branches/staging) - Web 部署项目输出(仅执行所需的文件 - bin、.aspx、图像等)
  3. 部署 (/branches/deployment) - 与 Staging 相同

CI流程:

  1. 在主干中提交源更改。
  2. TeamCity 检测更改、构建解决方案并运行单元测试。
  3. 如果所有测试都通过,TeamCity 将 Web 部署项目输出提交到分支/暂存,并将其导出到暂存 Web 服务器上的 wwwroot。

然后,当我准备好部署到生产环境时,我将手动执行以下操作:

  1. 合并分支/暂存与分支/生产
  2. 更新生产网络服务器的分支/生产工作副本。

这有意义吗?在这个过程中,像我这样的 VSS 用户可能会遗漏/误解什么吗?

4

3 回答 3

4

我写了一篇很长的文章,介绍如何使用 ASP.Net 和 Web 部署项目来做到这一点 - 听起来很合你的胃口(不知道我是否可以发布这个 - 模组?):

http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

于 2010-05-26T12:21:47.867 回答
4

迟到的答案,但可以对这个线程的读者有所帮助:

我做了一些在线研究,发现了一个分步教程,可以帮助您解决问题。

本教程介绍了持续集成 (CI) 的基础知识,以及每当在源代码控制存储库上检测到新更改时构建新数据库、针对数据库运行指定单元测试以及将测试数据库同步到 QA 环境的方法。

在数据库开发过程中实施持续集成 (CI) 的必要先决条件是使数据库处于源代码控制之下。

于 2016-05-04T09:47:19.180 回答
2

这可能对您有用,但通常阶段是客户接受更改的地方。如果您在每个构建上进行部署,他们不会获得一致的行为。

我们不会将构建结果保存在 SVN 中。对我们来说,将它放在 Teamcity 中的工件下就可以了。如果我们在这一点上使用最佳实践,我不确定。

使用 SVN 和 Teamcity,您会更加开心……祝您好运!

于 2009-07-09T22:05:16.570 回答