Introducing Probo.CI

tizzo

Probo.CI is a new open source continuous integration system designed from the ground up to work with Drupal. It integrates with Githhub to build your pull requests and post the status of your builds back to the Github PR, just like travis.ci. The part that is different from travis.ci is that it does not tear down your environment at the end and but instead posts a link to that environment on the github issue for easy code review, client feedback, and project manager evaluation. In order to save on resources with large numbers of containers, Probo shuts down containers while you're not using them and starts them up again on demand to give you just-in-time access to your development environments. Probo is designed to be easy to extend and easy to wire into a broader devops ecosystem.

Under the hood, Probo.ci is written in Node.js and powered by Docker.  This means that with just a little configuration you can run on your own container images and test your Drupal sites on whatever versions of whatever services your stack needs. Probo is implemented using a microservice architecture and ships with services for receiving Github notifications of push and pull request events and posting statuses back to the status API, another for creating, starting, and stopping the containers, and a third for proxying incoming requests to the correct container (and starting the container if it was stopped to save on resources). It also ships with tools for use as a local test runner (especially helpful when you're getting your project ready to build server side).

In this session I'll cover how Probo works, how to install it on your own hardware, how to use it to verify and run tests locally, and how to extend it. I'll also give a tour of the current code layout for those looking to get their hands dirty.

The core of Probo is and will always be open source but a hosted version will also be available Very Soon™ for teams that do not have their own DevOps staff.

Session Track

DevOps

Experience Level

Intermediate

Drupal Version

When & Where

Time: 
Thursday, 24 September, 2015 - 14:15 to 15:15
Room: 
118-119: Platform.sh