A Bolt from the Blue - Seamless and Automated Testing, Continuous Integration & Deployment with Acquia BLT

saitanay
jayakrishnanj

Ever seen that line item on project estimates that says ‘Developer Onboarding and setup’? We just reduced that line item by 50% across all our projects over the last 6 months!

Proud about being able to identify invalid code in a pull request and stopping it from breaking your build? Good, but we believe that such code should have never even been allowed to be committed in the first step!

Build and Launch Tool (BLT) has revolutionized the way we develop and deploy projects at Acquia. Managing multiple repositories in sync, reviewing and merging pull requests, running automated tests on the new build - all of these and many other tasks that used to be a large overhead to the architect are now easily automated in a consistent manner using BLT.

Having unique ways of setting up Continuous Integration on each project used to be a challenge with onboarding new developers onto the projects. With BLT, we now have consistency across projects setup and hence onboarding new folks onto any project is a cakewalk!

So, how does BLT help my Drupal projects?

  • Provide a standard project template for Drupal based projects

  • Provide tools that automate much of the setup and maintenance work for projects

  • Document and enforce Drupal standards and best practices via default configuration, automated testing, and continuous integration

So, should I now dump all my tools and is BLT all I need?
No!!! Apart from needing your own hosting environment (any hosting, not necessarily Acquia Cloud), you also need to build your application features (workflow, media, content types..). We don’t think any system can replace the most important part of the development process, which is YOU, at least yet. Might be probable someday, when our AI systems are mature enough that Google cars can navigate through the mad indisciplined traffic on Indian roads!

So, what do we cover in this session? We will

  • Walk you through a typical BLT project setup from scratch to get you up and running

  • Show how your Drupal site can perform code validation and run automated tests for each Pull Request before the code is merged, through Travis Integration

  • Show how to Run automated Behat tests on committed code and automatically deploy tested code to specific hosting environments

  • Discuss some common BLT terms - What are Artifacts, Phing, Canonical Repo, Artifact Repo..

  • Run through some typical scenarios like patch management workflow, automatically enabling different modules across different environments, previewing your test results on a different PHP version

Lessons Learned the hard way!
Apart from the above, we want to share some common pitfalls and caveats with using BLT that we saw during the past months of using it - Like Using a virtual machine with BLT, running commands on host machine vs virtual machine, configuration management etc - And we want to make sure you won’t hit one of those pitfalls.

BLT can bring tremendous value to technical teams—particularly those who are seeking to implement enterprise best practices on their Drupal sites (automated testing, CI, CD, coding standards, etc.). And this great tool comes with a learning curve. Having “Been there, done that”, we want you to leverage our experience to make that learning curve a very smooth ride!

Session Track

DevOps

Experience Level

Intermediate

Drupal Version