martedì 14 luglio 2009

Continuous Integration is an Attitude

by James Shore - 18 Aug, 2005

Contrary to popular belief, continuous integration is an attitude, not a tool. It's a shared agreement by the team that:

- When we get the latest code from the repository, it will always build successfully and pass all tests.
-We will check in our code every two to four hours.

There's lots of ways to make this happen, but they tend to be a variation on this theme:

- Before check-in, run the build and tests and make sure they pass.
- Tell people not to update from the repository because you're doing an integration.
- Check in.
- Go to a different machine (often a dedicated "integration machine"), get the latest code from the repository, and make sure latest changes build and pass there, too.
- Done--tell people they can update again.

The purpose of step indicated as "Go to a different machine" is to make sure that the code will work on everybody's machine, not just the machine of the guy who wrote the code. You tell people not to update just in case it doesn't work. If it doesn't, you have to fix it or roll back your changes. Either way, people won't ever have a problem with getting code that doesn't work ...

Nessun commento:

Extension Factory Builder