bikashp
bikashp

Reputation: 573

Do we really need Continuous Integration if we make all tests pass before we push?

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

Upvotes: 3

Views: 853

Answers (2)

Merlyn Morgan-Graham
Merlyn Morgan-Graham

Reputation: 59111

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.

  • Deploying to shared environments
  • Running automated tests
  • Giving periodic automated test status reports (e.g. daily)
  • Archiving builds

Check out the CI article on Wikipedia:

http://en.wikipedia.org/wiki/Continuous_integration#Recommended_practices

Upvotes: 0

Andrew
Andrew

Reputation: 5277

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.

Upvotes: 3

Related Questions