N-Things You Can Do With Continuous Integration Tools Hudson and Jenkins

Hudson (or Jenkins) is a great tool for continuous integration. Once I learned about it and started doing continuous builds and integration for my projects using hudson, I am simply in love with it. It is so flexible, light weight and does a variety of things. With over 400 different plugins available at their update website (see Jenkins Plugins Page and Hudson Plugins Page) , you can extend your base installation of this tool to do a variety of things.

If you still evaluating why you or your company needs this tool, here are a few things I noted down that you can look at to make your decision. This is by no means  a complete list of items. Hudson and Jenkins are far more powerful that just doing the items that I have listed below.

  1. Poll subversion for any changes and trigger a build if any new changes are available.
  2. Tag the release back to subversion.
  3. Schedule Ant or Maven builds based on cerain triggers such as code change or time,
  4. Trigger another build when one build completes.
  5. Trigger a build when Maven dependencies have been updated by Maven 3 integration
  6. Trigger a build when Maven SNAPSHOT dependencies have been updated externally.
  7. Build a project after another project is built.
  8. Automatically reschedule a build after a build failure using “Naginator Plugin”
  9. Build a project with Parameters via “Parameterized Trigger” plugins. The parameters passed could be for example, build label etc.
  10. Run your JUnit Tests automatically and get a nicely formatted graph
  11. Run the code coverage (Clover, Emma or Cobertura) automatically and get a nicely formatted graph
  12. Configure to run Checkstyle for capturing the code formatting issues and present the output in a nicely presented graphs.
  13. Look at the list of recent changes that were made on subversion by revision numbers.
  14. Copy the build artifacts to FTP, SCP, Network folders or other local folders.
  15. Run automated Tests using Cucumber
  16. Run automated tests using QTP
  17. Code Quality Metrics via “Violations” plugin.
  18. Run multiple builds in parallel.
  19. Send a list of people an email (Can be customized) when the build fails, is successful or has JUnits failing.
  20. Group your build jobs on different Views that are displayed as tabs.
  21. View quickly what builds are currently running.
  22. Look at the build history for build time taken, build status etc.
  23. Look at the console output of the build that is constantnly updated via Ajax calls.
  24. View the disk space usage.
  25. View the build time trend graphically
  26. Integrate Hudson Build With Sonar – via Sonar Plugin
  27. Run the build from web – no more kicking the builds from consoles or terminals.
  28. Secure the hudson access via LDAP. Users and user permissions can be added, modified or removed to finer levels.
  29. Run the hudson server itself as a service.
  30. Limit the maximum number of builds to keep on the server.
  31. Monitor your build via iPhone app – “Hudson Helper iPhone app”
  32. Monitor your build via RSS
[My Video Promotion]
  1. Pair Programming – A Comprehensive Guide To Get You Going
  2. Why The Idea Of Test Driven Development (TDD) Royally Upsets Me
  3. 12 Basic Principles That Underlie The Agile Manifesto With Text From Original Manifesto
  4. 12 Practices That Make Up Extreme Programming In Agile Software Development Methodology
  5. How to build a specific SVN (Subversion) revision in Hudson and Jenkins
  6. 15 Agile Best Practices – Are you following these in your team?
  7. What is the format for writing an agile story card?
  8. How the Agile Teams and Organizations Mature and Become Fluent
  9. N-Things You Can Do With Continuous Integration Tools Hudson and Jenkins
  10. List of some popular agile methodologies of software development practices
  11. The chicken and pig cartoon for Agile Project Management – high resolution version recreated
  12. Configuring Hudson Java Memory Settings When Running It As A Service
  13. Why is Fibonacci series numbers used in Agile Planning and Estimations?
  14. What Makes An Agile Story Good? It’s the INVESTment.
  15. Roles and Responsibilities of Business Product Owner in Agile Teams
  16. 100 Plus Agile Terms – A Comprehensive List
  17. How to manually install Hudson or Jenkins Plugin?
  18. 15 plus best practices for continuous integration of your software
  19. Iterative development benefits in the Agile software development
Tagged , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.