【发布时间】:2012-02-24 16:50:49
【问题描述】:
我的团队刚刚集成了持续集成的概念。
假设我们有一个名为 Dev 的集成分支。
从中派生出 3 个分支,每个特定当前项目一个:
- 项目A
- 项目B
- 项目C
首先,Teamcity 配置在专用服务器上,其目标是:
从每个分支(包括 Dev)的版本化源中编译和启动单元和集成测试
然后,当然,每个项目分支(A、B 和 C)都必须在克隆的生产环境中进行测试,以便执行 UAT。
但我想知道我们应该以什么频率部署?每次源代码更改?
我们应该只部署包含 3 个项目的混合的开发,然后将每个项目合并到它(对应于下一个生产版本中的实际情况)还是独立部署 3 个项目?
如果部署了 Dev,则不得考虑 Dev 未来可能发生的变化。确实, 可能会有一个名为 Project D 的新项目开始,它不能成为下一个版本的一部分。所以采用 Dev for integration (UAT) 是有风险的,因为部署者可能会非自愿地集成 Project D 的内容,因此环境不会揭示下一个版本的现实。
其他解决方案:我们不是拿 Dev 而是独立的 3 个项目,所以必须有 3 个并行的克隆生产环境吗?
如果是,则 UAT 不可靠,因为集成环境的行为可能会经常变化...
UAT 持续部署的概念对我来说不是很清楚......
【问题讨论】:
标签: testing continuous-integration teamcity continuous-deployment continuous-delivery