【发布时间】:2010-02-02 06:55:52
【问题描述】:
我的组织已经启动了一个持续集成项目,以自动构建他们面向公众的大型网站。
“大”是指 30 多个 REST 服务、外部 CMS 的内容和集成,以及多个 ASP.NET 前端。这些系统是用 Java 和 C# 混合编写的,部署到 Linux 和 Windows Server 组合。
我们按照敏捷流程与七个跨学科团队合作,所有团队都按照每周的冲刺周期运行。
我们已经自动构建和部署每个单独的服务,但现在我们面临的挑战是自动化(目前是手动的)集成和最终验收测试。
我的担忧是:
当服务更改其合同并且其消费者更新其代码但初始服务进一步更改其合同时会发生什么?我们会/永远/获得稳定的构建吗?
依赖检查在手动系统中是一场噩梦,我看不出它在自动化系统中会变得更好。 (我们在 Java 世界中将 Maven 与 Nexus 结合使用,并计划使用 Ivy;我们正试图将 .NET 代码压缩到其中并产生有趣的结果。)
我们的测试应该有多深?他们应该多久跑一次?
【问题讨论】:
-
不要去常春藤!你的地狱会更糟。我花了 6 个月的时间将 250 多个模块从 Ivy 移回 Maven,100 多名开发人员因此而快乐得多!
标签: architecture continuous-integration agile soa