如果我们在推送之前让所有测试都通过,我们真的需要持续集成吗?
我们的每个团队成员都会运行各种测试,并确保所有测试都通过,然后再推送到中央/原始存储库。在这种情况下我们还需要 CI 服务器吗?我们有不同的开发和生产环境(mac vs linux)。如果我们在 Linux 上设置 CI 服务器,仍然拥有 CI 服务器的一个简单原因是我们在更像生产的环境中运行测试。但是否有一些充分的理由仍然保留它?
谢谢
Each of our team members runs all kind of tests and makes sure all of them pass before pushing to central/origin repository. Do we still need CI server in this case? We have different development and production environment(mac vs linux). One simple reason to still have CI server, if we set up CI server on linux is that we are running test in more production like environment. But are there some solid reasons to still have it?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为您在问题中暗示了持续集成的最大好处之一。它使您有机会确保代码将根据源代码控制存储库中的内容按预期签出并运行。如果您在团队中工作,那么一个人在本地环境中进行更改并不罕见,这些更改可能依赖于另一个资源(可能是 dll),而他们忘记签入源代码控制存储库(您的 ci)服务器显然会失败,但应用程序将编译并且测试将在开发人员的计算机上运行。
I think you hinted at one of the biggest benefits of continuous integration in your question. It gives you the chance to make sure that the code will check out and run as expected based on what is in your source control repository. If you are working in a team it isn't that uncommon for a person to make a change in their local environment which might have a dependency on another resource (maybe a dll) that they forget to check into the source control repository, your ci server will obviously fail, but the application will compile and tests will run on that developers machine.
安德鲁有一个很好的观点。为了扩展这一点,许多 CI 软件包不仅可以用于构建。您可以使用它来自动化许多开发流程。
查看 Wikipedia 上的 CI 文章:
http://en.wikipedia.org/wiki/Continously_integration#Recommended_practices
Andrew has a good point. To expand on that, many CI software packages can be used for more than just your build. You can use it to automate many development processes.
Check out the CI article on Wikipedia:
http://en.wikipedia.org/wiki/Continuous_integration#Recommended_practices