Contenu connexe Similaire à Drupal 8 Development at the Speed of Lightning (& BLT) (20) Drupal 8 Development at the Speed of Lightning (& BLT)1. 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)
2. 2 ©2016 Acquia Inc. — Confidential and Proprietary
Introductions
● Matthew Grasmick
o Acquia PS, 5yrs; Drupalist, 8yrs
o Maintainer of BLT
● Johnnie Fox
o Chief Technology Officer at Promet Source; Drupalist, 7yrs
● Steve Zipfel
o Solutions architect at Promet Source; Drupalist, 7yrs
3. ©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
4. ©2016 Acquia Inc. — Confidential and Proprietary
BLT’s Genesis:
Professional Services Experience
5. ©2016 Acquia Inc. — Confidential and Proprietary
We started from scratch
for every project
6. 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.
8. ©2016 Acquia Inc. — Confidential and Proprietary
Use one template
and one set of tools
for every project.
9. ©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
10. ©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
12. ©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
13. ©2016 Acquia Inc. — Confidential and Proprietary
Acquia Lightning
● Layout
o Built on Panels, Panels IPE, & Panelizer
● Media
o Built with Media Entity, Entity Browser, Entity Embed
● Workflow
o Built on Workbench Moderation, Scheduled Updates
● Preview
o Multiversion, Workspace, Replication
o Experimental - Stable Q3 2017
15. 15 ©2016 Acquia Inc. — Confidential and Proprietary
Johnnie Fox - Business
16. 16 ©2016 Acquia Inc. — Confidential and Proprietary
Build Philosophy
– https://12factor.net/
17. 17 ©2016 Acquia Inc. — Confidential and Proprietary
Continuous Integration Principles
18. 18 ©2016 Acquia Inc. — Confidential and Proprietary
Drupal 7 Build Framework
19. 19 ©2016 Acquia Inc. — Confidential and Proprietary
Downsides of Custom Framework
Time + Money + Effort
Lack of Community Support + New Ideas
20. 20 ©2016 Acquia Inc. — Confidential and Proprietary
South Florida Water Management
21. 21 ©2016 Acquia Inc. — Confidential and Proprietary
Drupal 8
Accessible
6 Month
Timeline
Optimized
Performance
Acquia
Hosting
South Florida Water Management
22. 22 ©2016 Acquia Inc. — Confidential and Proprietary
Steve Zipfel - Development
23. 23 ©2016 Acquia Inc. — Confidential and Proprietary
Pre-defined build process - Hit the ground running.
BLT and Promet Source: A perfect match.
24. 24 ©2016 Acquia Inc. — Confidential and Proprietary
Development Team
1 Architect / Developer
1 Drupal Developer
1 Themer
100% Remote across different continents and timezones
Quick delivery
Drupal 8
Community
25. 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. 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. 27 ©2016 Acquia Inc. — Confidential and Proprietary
Development Processes
vagrant up
vagrant ssh
cd /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. 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 dependencies
composer 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. 29 ©2016 Acquia Inc. — Confidential and Proprietary29 ©2016 Acquia Inc. — Confidential and Proprietary
Joint development with client and
seamless handoff
Existing Documentation and
Existing, well defined process
30. 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. 31 ©2016 Acquia Inc. — Confidential and Proprietary
Artifacts vs Full Dev Code.
32. 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. 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. 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
36. 36 ©2016 Acquia Inc. — Confidential and Proprietary
South Florida Water District
37. 37 ©2016 Acquia Inc. — Confidential and Proprietary
South Florida Water District
– 1st Project risk register to
contain hurricane risk
– 1st project impacted by
hurricane
39. 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