Continuous integration
Continuous integration is the practice of having a build server regularly compile and test the latest code base. Using continuous integration has many advantages:
- Developers can be alerted by the build server when a recent commit will not compile (“breaks the build”) or fails tests.
- When development slows down, the build server continues to regularly download and compile the app, alerting developers to bit rot.
- In cases where a project’s test suite takes a long time to run, the burden can be shifted to the build server by creating a temporary “staging” branch.
- Build servers are an ideal “outside tester” for your build process.
They don’t share the peculiarities of your shell environment, home directory,
/usr/local/bin
directory, etc.
Wikipedia lists even more advantages. Continuous integration is not much less important than source control and build automation; it should be a part of most of your projects!
Jenkins
Set up a free hosted Jenkins
Add a build status image to your README
file
Integrate IRC and Twitter (seriously!)
{% include _under_construction.html %}