This document discusses Hudson, an open source continuous integration (CI) tool. It describes what Hudson is, what CI is, and how Hudson can reduce deployment and maintenance costs. Hudson automates tasks like checking code quality, running tests, and publishing results. By implementing CI with small, frequent changes, the quality and delivery of software can be improved compared to traditional development practices. The document provides an example workflow of how Hudson can automatically check coding standards, run tests, and generate performance reports when a Drupal site is deployed.
1. Hudson in your Drupal Development Process
Ritesh Gurung
DrupalCamp Delhi
April, 2011
2. Agenda
● What is Hudson?
● What is Continuous Integration?
● Reducing Deployment and Maintenance costs with Hudson
3. What is Hudson
● Hudson is an open source “continuous integration” (CI) server.
A CI server can do various tasks like
● Check-out source code
● Test the project
● Publish the results
● Communicate the results to team members
4. Continous Integration
● Continuous integration (CI) implements continuous processes
of applying quality control — small pieces of effort, applied
frequently
● Continuous integration aims to improve the quality of software
and to reduce the time taken to deliver it, by replacing the
traditional practice of applying quality control after completing all
development
5. When a site is implemented
● Check coding standard “Developer”
6. When a site is implemented
● Generate benchamark report “Infra”
● Performance of each page “Infra”
7. When a site is implemented
● Run test cases [Selenium] “QA”
8. ENTER HUDSON
1. Check the coding standards
2. Run selenium test case
3. Performance report
4. Siege reports
U NATTE N D E D
9. Tools
● Drush
● Coder
● Hacked
● A fork of Droptor
● Siege
● THE SHELL SCRIPT