Continuous Integration has never been so easy


Details
Join our monthly meeting of the Waterloo Region Drupal User Group meetup.
Date: Thursday, June 21st, 2018
Time: 19:00 to 21:00
Location: The Working Centre, 58 Queen Street S., Kitchener
Speaker: Andrew Berry
Continuous Integration has never been so easy
Do you want to run tests, check code coverage, check coding standards, and generate coverage reports every time someone in your team pushes code changes? In this session, we will show you a set of tools to implement Continuous Integration to your development workflow, and to make the business case for Continuous Integration (CI) to non-technical stakeholders.
In the past few years, we have participated in the implementation of Continuous Integration of every project that we have worked on. Once implemented, we found the metrics it generated added transparency and trust in the team’s work. However, it was always tedious to set up and customize for each team. Furthermore, it required constant monitoring, tuning, and maintenance.
With the appearance of Docker and SaaS products like CircleCI and Travis CI, implementing CI has become much easier and flexible to implement. We sought different, more efficient ways to set up and maintain a foundation that future teams could add quickly to their workflow and build upon. This foundation runs the following checks on a given pull request:
Runs PHPUnit and Kernel tests.
Generates a code coverage report.
Checks Drupal’s coding standards and best practices.
Updates the database, synchronizes configuration and runs Behat tests with a real web browser like Chrome.
In this session we will evaluate three CI architectures to accomplish the above:
Jenkins, using Docker to spin up and tear down environments in jobs.
CircleCI, via a single-command installer.
Travis, via a single-command installer.
We will also provide details on the cost savings we realized with a client by migrating build and test servers to a SaaS platform from a custom, internal implementation.
Regarding future talks, we don't have speakers lined up after our summer break. If you want to present a topic that is related to Drupal, PHP, showcasing a web site or module, or Web Development in general, please let me know (https://www.drupal.org/user/4063).
Meetings for the Waterloo Region Drupal Users Group happen on the third Thursday of each month (except for July, August and December). The meetings are held at The Working Centre, at 58 Queen Street South in Kitchener, between 19:00 and 21:00.

Continuous Integration has never been so easy