Session type:
Session level: High
Session language: English
So you learned that tests are important. You also learned that they are made pretty simple with Drupal’s PHPUnit framework. You may have even invested some time to set up behavioral tests using Behat Drupal Extension. Now it’s time to bundle all the testing together in a nice automated pipeline.

CI promises faster code review and fewer regressions on each deployment. It used to come with a high price: the need to set up Jenkins, Apache Ant, configure jobs and whatnot. It was a relatively simple task for ops people, but not for the PHP developers. So we’ve got some cloud-based CI tools, which are great, simple to set up, free for open source projects, but tend to get pretty expensive for the rest.

This session proposes a cheap and easy-to-set-up alternative. It will demonstrate:

* Using GitLab server to host your own Git repositories and build powerful CI pipelines;
* Automated code testing for every single merge request, which saves lots of time for code reviewers;
* Automated deployment to Platform.sh environments for human review;
* One-click deployment to the production environment.

The best thing about the proposal is that it will be entirely up to you how complex you want it to be: start simple and add new steps to the build as you climb up the learning curve.
Author bio
Branislav Bujišić is a Product Engineer with a key role in the Platform.sh accounts platform and user tools team. He loves helping clients use and understand the product via demos and training. His technical interests lie in automation of everything and best practices in development, deployment and lifecycle management. Away from the command line, he is passionate about good craft beers, fine foods, and shiny new technology.