Introduction / Executive summary

Continuous integration (CI) is a set of processes and methodologies that has the potential to solve many problems in the typical software development process of large projects incorporating a team of developers.

Introduction to kms-ci-framework

Kms-ci-framework is made up of two main parts:

  1. Documentation

    Description of the methodologies and processes which you can use to implement a continuous integration process for your projects.

  2. Tools and code

    A set of tools to help you implement the relevant methodologies and processes defined in the documentation. At the core it provides a single command which will automagically setup your environment to be the same on different machines and will launch the testing suite. You can setup your continuous integration server to run this command on each commit and will run the testing suite.


  • Unit testing for PHP using PHPUnit.
  • Integration testing - support for repeatable and consistent environment configurations accross different machines.
  • Perform tasks which require a browser using PhantomJS - a headless browser with a JS api.
  • Integration testing using CasperJS - testing utility built on top of PhantomJS.
  • Tested with Jenkins - continuous integration server
  • Operating system agnostic - tested on Linux and Windows 7 but should work on other OS as well.


Table Of Contents

This Page