CI made dead simple with Drupal 8, GitLab and Platform.sh
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 workshop proposes a cheap and easy-to-set-up alternative: * 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. We will: * Start from an existing Drupal 8 project, somewhat covered with tests. * Create a GitLab repo and a CI/CD pipeline * Add the coding standards step to the pipeline * Add the unit testing step to the pipeline * Add the behavioral testing step to the pipeline * Deploy the project to Platform.sh staging and production environment. The session was primarily meant to developers who think they are ready to jump in the CI/CD train. No previous experience with CI/CD is required. However, some basic experience in shell scripting may be needed, as well as a computer with a working local dev environment.