41
1 ©2016 Acquia Inc. — Confidential and Proprietary Johnnie Fox, CTO, Promet Source Steve Zipfel, Drupal Solutions Architect, Promet Source Matthew Grasmick, Senior Technical Services Manager, Acquia Drupal 8 Development at the Speed of Lightning (& BLT)

Drupal 8 Development at the Speed of Lightning (& BLT)

Embed Size (px)

Citation preview

1 ©2016 Acquia Inc. — Confidential and Proprietary

Johnnie Fox, CTO, Promet SourceSteve Zipfel, Drupal Solutions Architect, Promet SourceMatthew Grasmick, Senior Technical Services Manager, Acquia

Drupal 8 Development at the Speed of Lightning (& BLT)

2 ©2016 Acquia Inc. — Confidential and Proprietary

Introductions● Matthew Grasmick

o Acquia PS, 5yrs; Drupalist, 8yrso Maintainer of BLT

● Johnnie Foxo Chief Technology Officer at Promet Source; Drupalist, 7yrs

● Steve Zipfelo Solutions architect at Promet Source; Drupalist, 7yrs

©2016 Acquia Inc. — Confidential and Proprietary

Itinerary

● Overview of BLT● Overview of Lightning● Build Philosophy ● Case Study

o The BLT way: South Florida Water Management● Key Takeaways

©2016 Acquia Inc. — Confidential and Proprietary

BLT’s Genesis:Professional Services Experience

©2016 Acquia Inc. — Confidential and Proprietary

We started from scratchfor every project

6 ©2016 Acquia Inc. — Confidential and Proprietary

Snowflakes● Every project is unique.

o Difficult to support and maintain.o Collaboration & handoffs are messy. o Resources are not interchangeable.

● Risks?o Wasted time. o Missed deadlines. o Smaller margins.o Lower value. o Staff burnout.

©2016 Acquia Inc. — Confidential and Proprietary

Let’s try something different

©2016 Acquia Inc. — Confidential and Proprietary

Use one templateand one set of tools

for every project.

©2016 Acquia Inc. — Confidential and Proprietary

Acquia Build & Launch Tools (BLT)

● Standardized template for Drupal 8 sites

● Set of tools for building, testing, deploying

● Commands for automating usage of those tools

©2016 Acquia Inc. — Confidential and Proprietary

BLT is part of your codebase● Like a module

– Install a particular version– Update hooks required between versions

● Not an application– Not installed at system-level

©2016 Acquia Inc. — Confidential and Proprietary

Acquia Lightning

©2016 Acquia Inc. — Confidential and Proprietary

Acquia Lightning

– A Drupal 8 distribution maintained by Acquia– Enable developers to build great enterprise authoring

experiences for their editorial teams with D8

©2016 Acquia Inc. — Confidential and Proprietary

Acquia Lightning

● Layouto Built on Panels, Panels IPE, & Panelizer

● Mediao Built with Media Entity, Entity Browser, Entity Embed

● Workflowo Built on Workbench Moderation, Scheduled Updates

● Previewo Multiversion, Workspace, Replicationo Experimental - Stable Q3 2017

©2016 Acquia Inc. — Confidential and Proprietary

It’s business time

15 ©2016 Acquia Inc. — Confidential and Proprietary

Johnnie Fox - Business

16 ©2016 Acquia Inc. — Confidential and Proprietary

Build Philosophy

– https://12factor.net/

17 ©2016 Acquia Inc. — Confidential and Proprietary

Continuous Integration Principles

18 ©2016 Acquia Inc. — Confidential and Proprietary

Drupal 7 Build Framework

19 ©2016 Acquia Inc. — Confidential and Proprietary

Downsides of Custom Framework

Time + Money + Effort

Lack of Community Support + New Ideas

20 ©2016 Acquia Inc. — Confidential and Proprietary

South Florida Water Management

21 ©2016 Acquia Inc. — Confidential and Proprietary

Drupal 8

Accessible

6 Month Timeline

Optimized Performance

Acquia Hosting

South Florida Water Management

22 ©2016 Acquia Inc. — Confidential and Proprietary

Steve Zipfel - Development

23 ©2016 Acquia Inc. — Confidential and Proprietary

Pre-defined build process - Hit the ground running.

BLT and Promet Source: A perfect match.

24 ©2016 Acquia Inc. — Confidential and Proprietary

Development Team1 Architect / Developer1 Drupal Developer1 Themer

100% Remote across different continents and timezones

Quick deliveryDrupal 8Community

25 ©2016 Acquia Inc. — Confidential and Proprietary

Makes complex things simple

– Create an entire project– Create and boot a VM– Run every test– Validate all of your code– Sync environments– Deploy to cloud

Do the following tasks with a single command:

26 ©2016 Acquia Inc. — Confidential and Proprietary

Plus!– Built in tests with BHAT and PHPUNIT so you’re not starting from scratch:– Built in code validation tools PHP Code Sniffer and Linting

27 ©2016 Acquia Inc. — Confidential and Proprietary

Development Processesvagrant upvagrant sshcd /var/www/sites/website_root

For more: http://blt.readthedocs.io/en/8.x/readme/onboarding/

Run blt local:setup to rebuild the codebase and reinstall your Drupal site (most commonly used early in development).

Run blt local:refresh to rebuild the codebase, import a fresh DB from a remote environment, and run schema/configuration updates (most commonly used later in development).

28 ©2016 Acquia Inc. — Confidential and Proprietary28 ©2016 Acquia Inc. — Confidential and Proprietary

Stay Safe!

Software Updates

28 ©2016 Acquia Inc. — Confidential and Proprietary

BLT uses Composer

‘Composer update’ updates the composer.lock file which will update modules, drupal core and libraries on build

# update blt and its dependenciescomposer update acquia/blt --with-dependencies# Remove deprecated files.blt cleanup# update all dependencies, in case BLT modified your composer.json during previous update.composer update

29 ©2016 Acquia Inc. — Confidential and Proprietary29 ©2016 Acquia Inc. — Confidential and Proprietary

Joint development with client and seamless handoff

Existing Documentation andExisting, well defined process

30 ©2016 Acquia Inc. — Confidential and Proprietary30 ©2016 Acquia Inc. — Confidential and Proprietary

Deployment build - Just the (Arti)facts

./blt.sh deploy -Ddeploy.commitMsg='REPO-NAME-XXX: The commit message.' -Ddeploy.branch='develop-build-

repo-name-xxx'

XXX = the issue number.

30 ©2016 Acquia Inc. — Confidential and Proprietary

What is an artifact?

Artifacts are ONLY the items required for running the website.

What types of things aren’t artifacts?

● CHANGELOG.txt● Vagrantfile

And many other tools required for development but not for running the website

31 ©2016 Acquia Inc. — Confidential and Proprietary

Artifacts vs Full Dev Code.

32 ©2016 Acquia Inc. — Confidential and Proprietary

Seamless integration with Acquia Cloud– Push a deploy branch to the Acquia git repository– Select the branch from the UI to deploy the new

branch

33 ©2016 Acquia Inc. — Confidential and Proprietary

Give back!

BLT is open source so you can contribute to the BLT project.

http://blt.readthedocs.io/en/8.x/readme/dev-workflow/

34 ©2016 Acquia Inc. — Confidential and Proprietary

Resources● http://blt.readthedocs● https://github.com/acquia/blt● https://dev.acquia.com/blog/introducing-acquia-blt-a-development-tool-for-generating

-new-drupal-8-projects/25/05/2016/10486● https://dev.acquia.com/blog/deploying-to-acquia-cloud-with-blt/05/07/2016/15781

35 ©2016 Acquia Inc. — Confidential and Proprietary

Project Closeout

36 ©2016 Acquia Inc. — Confidential and Proprietary

South Florida Water District

37 ©2016 Acquia Inc. — Confidential and Proprietary

South Florida Water District– 1st Project risk register

to contain hurricane risk

– 1st project impacted by hurricane

38 ©2016 Acquia Inc. — Confidential and Proprietary

Project results

39 ©2016 Acquia Inc. — Confidential and Proprietary

Key Take Aways– Low Set up time– Initial investment to get started is low– Lightning greatly reduced module selection time

40 ©2016 Acquia Inc. — Confidential and Proprietary

Questions?

41 ©2016 Acquia Inc. — Confidential and Proprietary

Thank You