Be A Developer Experience Super Hero: Robust Dev Scripts For Peace and Joy 1
Hi, I’m Dustin LeBlanc! Customer Success Engineer at Pantheon dustinleblanc on Twitter, Github, Linkedin, and drupal.org dustin@pantheon.io Pantheon.io 2
1. Agency CTO / Lead 2. Lead developer Who Are you? 3. Those who want to be Who who, who who? leaders 3
Why care about developer experience? 4
We aren’t just building sites We’re building teams! Pantheon.io 5
Developers Are Easy to Lose Source: Stack Overflow Developer Survey 2017 Pantheon.io 6
What do developers want? 7
Top Reasons Developers Leave Source: 2014 Glass Door Survey Pantheon.io 8
Less time spent on: More time spent on: ● Billable work ● Manual testing ● Fancypants fun stuff ● Workstation ● Open source configuration contribution ● Project setup ● Building better orgs 9
Which means you can pay your team more 10
And bug them about making money less 11
I’m Sold! But How? 12
Components of Scripted Serenity Minimal Local Dependencies (cross ● platform, as much as possible) Automated tests, builds, and ● deployments Accessible , reliable, and reusable scripts ● Pantheon.io 13
Local Dependencies 14
Minimal Self Managed Dependencies Composer Docker-Compose Pantheon.io 15
Dependable and Repeatable Tests/Builds 16
Make a machine QA your work Regression testing is easier than it has ever been, manual testing hasn’t gotten any easier... But setting up CI/CD can still be a pain Pantheon.io 17
If at first you don’t succeed... 74th time is a charm! Pantheon.io 18
Terminus Build Tools One Command: New Pantheon Site ● New Github Repo ● CircleCI ● Behat ● Deploy to multi-dev ● Get it here: https://github.com/pantheon-systems/terminus-build-tools-plugin $ terminus build-env:create-project --team="Team Discovery Channel" disc-d8 best-site-ever Pantheon.io 19
Much Better! Pantheon.io 20
How best to use CI? Build Assets, keeping source repos small, ● making patching declarative and automated. Check code style, complexity, and ● performance Run acceptance and unit tests ● Consistent and reliable deployments ● Everything you need to do before ● shipping...but forget to do. Pantheon.io 21
Super Smart Scripting 22
What Devops Scripting Should Be ● Easy to contribute ● Easy to understand ● Easy to extend Pantheon.io 23
Scripting like a PHP developer Robo to the rescue! http://robo.li Pantheon.io 24
Symfony Console Style Commands Pantheon.io 25
Just Public Functions In A Class Pantheon.io 26
Why use PHP? Familiar to Drupal developers ● Cuts down on context switching and ● number of languages (per project) Access to Application functionality ● Consistent execution ● Encourages contribution ● Pantheon.io 27
Example Project https://github.com/dustinleblanc/super-scripts Pantheon.io 28
Zero To Passing In No Time 5 Commands From never touching the project, to ready to add new features Pantheon.io 29
Helpful tools 30
Every Superhero needs a team! Local development with Docker + Slick GUI + Sick Pantheon Integration www.kalabox.io Pantheon.io 31
Every Superhero needs a team! Docker4Drupal by Wodby Docker-Compose containers that are super easy to get started with Pantheon.io 32
Every Superhero needs a team! DrupalVM is a great non-Docker way to have consistent and declarative dev environments Pantheon.io 33
Do the Friday sprints! Participate in the Drupal community, attend the Friday sprints! https://events.drupal.org/baltimore2017/sprints All are welcome, from new folks to wise and experienced Drupalists, help make Drupal even better! Pantheon.io 34
Thank you! Thanks so much for your time! Please provide any feedback you have on my presentation here: https://events.drupal.org/baltimore2017/sessions/be-developer-experience-super -hero-robust-dev-scripts-peace-and-joy Pantheon.io 35
Questions? 36
Recommend
More recommend