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

_______________________________________________
kallithea-general mailing list
[email protected]
http://lists.sfconservancy.org/mailman/listinfo/kallithea-general

Reply via email to