我的组织已经开始了一个持续集成项目,以自动构建他们的大型面向公众的网站。 “大”,我的意思是30 + REST服务,内容和外部CMS的集成,以及几个ASP.NET前端。这些系统使用Java和C#混合编写,部署到Linux和Windows Server服务器组合框中。大型持续集成的最佳实践是什么?
我们通过七个跨学科团队开展敏捷流程,所有团队都运行到每周冲刺周期。我们有自动构建和部署每个单独的服务,但现在我们面临的挑战是自动化(当前手动)集成和最终验收测试。
我的担忧是:
当服务改变其合同和消费者更新自己的代码,但最初的服务进一步改变其合同会发生什么?我们会/永远/得到一个稳定的构建?
依赖检查是手动系统中的噩梦,我看不到它在自动化系统中变得更好。 (我们在Java世界中使用带有Nexus的Maven,并计划使用Ivy;我们试图用有趣的结果将.NET代码压缩到此。)
我们的测试应该有多深?他们应该多久运行一次?
不要去常春藤!你的地狱会变得更糟。我已经花了六个月的时间将250多个模块从Ivy移回到Maven,超过100个开发人员因此更加快乐! – user924272 2014-04-02 20:45:14