So you learned the importance of tests. 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;
- Thinking outside of the box to optimize the CI workflow.
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.