15 plus best practices for continuous integration of your software

Here is a list of 15 plus continuous integration tips or do’s and don’ts for your software. If you have more tips, please add them to the comment section. I will pick it up from there and add it to this list.

  1. Maintain single source code repository
  2. Commit code frequently. Ideally have everyone in your team commit their code everyday.
  3. Run all test cases / test suites locally before committing your code to the repository.
  4. Never check-in a broken build – if you found broken test cases, fix those before committing the code.
  5. If you checked in a code that broke the build, fix it. Take responsibility on the build that you broke.
  6. Don’t comment out failing test cases – fix them.
  7. Automate the build process using tools like Ant or Maven.
  8. Automate the unit tests so that on every build whole set of test cases run.
  9. Make a clear separation of Unit Tests and Integratio Tests
  10. Configure the build so that every commit to the repository triggers a build.
  11. Keep the builds fast – fail the build if it runs for too long and optimize the build process.
  12. Replicate production environment as closely as possible on your test environments.
  13. Make the results of your test cases visible to everyone in your team.
  14. Send an email to the team for every build – both for success and failure.
  15. Auotmate your deployment process – ideally set up a trigger to run a deployment once the build is complete.
  16. Run static code analysis tools like checkstyle on your every build and fail the build in case of violations.