持续集成概念刚被整合到我的团队中。
假设我们有一个名为 Dev 的集成分支。
从它派生出3个分支,每个分支都针对当前特定的项目:
- 项目 A
- 项目 B
- 项目 C
首先,在专用服务器上配置了 Teamcity ,其目标是:
从每个分支(包括 Dev)的版本化源代码编译和启动单元和集成测试
然后,当然,必须在克隆的生产环境中测试每个项目分支(A、B和C),以便进行用户验收测试。
但我想知道应该多频繁地部署?每次源代码更改时吗?
我们应该仅部署 Dev,其中包含将每个项目合并到其中的混合内容(对应于下一个生产发布的现实情况)还是这3个项目独立部署?
如果部署 Dev,则未来可能更改 Dev 的内容不应纳入考虑。确实,可能会有一个名为 Project D 的新项目开始,它不应是下一版本的一部分。因此,将 Dev 用于集成(UAT)是有风险的,因为部署人员可能会无意中集成 Project D 的内容,从而环境将无法揭示下一版本的现实情况。
另一个解决方案:我们不使用 Dev,而是独立使用这3个项目,因此必须并行拥有 3 个克隆生产环境?
如果是这样,UAT 可能就不可靠了,因为集成环境的行为可能经常发生变化...
持续部署的 UAT 概念对我来说不太清楚...