Kallithea CI Service Proposal

Tim Freund tim at freunds.net
Wed Jul 9 01:39:07 EDT 2014


Hi Everyone -

I'm building a Jenkins server to test Kallithea changes, but I wanted to 
run it by the group before I got too far to make sure I am not 
duplicating any effort with others.

The server build process is automated with Packer and Puppet so that we 
can easily host the system in a large variety of environments.

Builds will run in Docker containers through the Jenkins Docker Plugin. 
The plugin makes Docker hosts look like a cloud provider to Jenkins. 
Since Docker now supports nested containers, each Jenkins slave 
container can launch any number of other containers to orchestrate 
multi-node tests.

Link to a diagram:
http://tim.freunds.net/media/images/articles/kallithea-ci-server.png

This approach offers at least three benefits:

- The system can start on a single host
- We can build rich single use test environments that launch quickly
- The system can grow as our testing needs grow by adding additional or 
bigger docker hosts.

At the least I imagine test jobs to run the following:

- Unit tests
- Integration tests with various infrastructure components (for 
instance: sqlite, MySQL, PostgreSQL)
- Application upgrade/schema migration tests

I’m happy to pay for the hosting of the CI service, but the open and 
automated deployment definitions will allow anyone to build and run 
their own system as well.

The first scraps of configuration are in the following two repositories:

https://github.com/timfreund/puppet-kallitheaci
https://github.com/timfreund/packer-template-kallithea-ci

Please let me know if you have any thoughts, questions, or concerns.  In 
addition to the mailing list, you can find me in the #kallithea IRC 
channel as timfreund.

Thanks!

Tim

-- 
Tim Freund
913-207-0983 | @timfreund
http://tim.freunds.net



More information about the kallithea-general mailing list