Continuous Integration for Drupal Project using Travis + Gulp
Continuous Integration is a software development practice where team members intergrate their work frequently and idea of this practice is to reduce integration problems and allow teams to develop cohesive software more rapidly. Cohesive software developmet needs tools to run automated builds.
Travis + Gulp
CI always excited me and while looking for good Opensoure CI tools for Drupal Projects, I wasn't able to find any. Some of the things which I wanted in the CI tools were
- Ability to run coder/phpcs
- Ability to run csslint + jslint
- Ability to run unit test (both js + Drupal/php)
- Automated development upon successful build
- Rollback or notifications upon build failure
- and more...
My initial inclination was to use jenkins for this task but lately Travis saw a wide adoption in opensource projects, hence I took a call to create a CI tool for Drupal using Travis and Gulp also seemed fit for my workflow.
In this talk I would talk about how I built a CI infrastructure using Travis and Gulp which does the tasks which I have mentioned above. The framework can be found here: https://github.com/srijanaravali/drupal-starter-kit. The current framework already achieves running coder/phpcs, csslint, jslint using travis + gulp. There are couple of more items which I am working in next couple of days to make this CI tool much more better. Hopefully I can release a first stable release by the time Badcamp starts :)