Design a CI and CD workflow for both front-end and the Drupal back-end in a Decoupled Drupal solution

Submitted by hussainweb on Fri, 05/31/2019 - 23:56
Session Track
CI/CD & QA Automation
Skill level
Advanced

A typical Drupal website today needs a moderately sized team. In fact, there would most likely be more than one team in case of Decoupled Drupal solutions. A team of any size (even size of one) needs automation and standard workflows. There is probably no developer workflow for automation more ubiquitous than using continuous integration in some fashion.

In the vast landscape of CI/CD tools available today, it is difficult to pick the right tool or even the right workflow for your team. In this session, I will talk about one workflow we adopted for a recent Decoupled Drupal solution with multi-site architecture and multiple front-ends. I will describe how we use Jenkins to run builds and deployments to certain environments for a Acquia Cloud Site Factory hosted Drupal back-end and multiple Angular front-end websites hosted on multiple cloud providers. We will also discuss the testing strategy for the code before deployment.

Further, we will discuss specific methods where we can reuse the Jenkins pipeline definition code in multiple repositories to help maintainability. We will talk about how we would use Docker to run containers with specific build and test tools rather than installing it on the Jenkins server and using tools like BLT as part of this process.

In this session, you will learn:

  • What components are required in building a build toolchain.

  • Using Jenkins to configure builds and writing a scripted pipeline.

  • Use Docker to run tools without installing it on the Jenkins server.

  • Share pipeline code across multiple repositories for back-end and front-end.

  • Deploying code and even provision infrastructure conditionally and securely.