SlideShare a Scribd company logo
Drupal 8 DevOps*.
Profile and SQL flows.
*DevOps is Development Operations Engineer.
Takes care about how development process lives and whether it could be
improved continuously.
About a speaker
Andrii Podanenko, FFW
Team Lead, Software Architect, DevOps
A bunch of contrib modules maintainer
D.org power up group mentor
UA Localization group manager.
http://dgo.to/@podarok
@podarok or @podarok_ua
Technologies, touched within current session
● Drupal 8(7)
● CIBox (Jenkins, GitHub, Ansible, Virtual Machine)
● Drush, Drupal Console
● Vagrant, Virtualbox, linux containers (Docker style)
● LAMP (Linux, Apache, MySQL, PHP)
The crucial point for the development is a...
Speed of Delivery
If you able to deliver a project for a small amount of time...
you can become a winner in
terms of marketing and
sales
If you could demo particular feature any time...
you could give the customers
thoughts they are controlling the
process of developing the product
If you could deploy features/fixes more frequently...
you could let the customers think
they can commit changes to their
business easily through the
product you are developing
If you could provide specific features for UAT* any
time...
you could get decreased overall
UAT time and saved tons of funds
for pre launch testing
*UAT - User Acceptance Testing
If you could test every specific feature on a dedicated
environment - feature build (ci build)...
your QA could be happy which
would make a customer happy as
well
*QA - Quality Assurance engineer
If devs are involved into creating initial user-guides...
delivery would be smoother and
the client would faster start being
more familiar and confident about
product usage
If your development process facilitates communication
and collaboration between developers/team members...
you'll create more powerful
products in terms of architecture
and stability
If your process can't be broken by skipping quality
rules...
your team skills will grow faster
and resulting quality won't be
affected
If your team members could improve development
workflow...
they'd become more responsible
for approaching their tasks
How it looks in practice
Possible environments for Drupal development
● Local DEV (local developer’s desktop)
● Feature Build (CI server) *
● Static build environments (POC, long term testing feature) *optional
● Remote DEV (Accumulated environment for current master branch) *optional
● Staging (Showroom for a client and UAT)
● Production
* Average project outgoings for having CI builds are
● 20-80 $/month hosting
● 35 hours of CI maintenance
Possible Drupal 8 development flows
1. Profile - deployment is reinstall a project from scratch. Useful for:
a. Initial project creation
b. Develop API, library, module, installation suite(platform)
c. Drupal.org module maintainer environment
d. Develop unit/behat tests with demo content
2. SQL - deployment is fetch/keep SQL data from Live environment and run needed
updates. Useful for:
a. Content Managers need to prefill a database with a real content data
b. Pre launch timeline, testing deployments with ability to keep database data between them
c. Service Level Agreement period
d. Legacy CMS(non-Drupal) projects
e. Acceptance testing
Profile flow how-to* - local/remote environment
Using CIBox -> http://cibox.tools
> git pull && vagrant up && sh reinstall.sh Or ansible-playbook reinstall.yml -i 'localhost,' --
connection=local
Using drush -> http://drush.ws
> git pull && drush site-install $profile_name $options
Using drupal console -> http://drupalconsole.com
> git pull && drupal site:install [arguments] [options]
* Depends from project specifics but still - install a site takes
from 30 seconds to 15 minutes. Best time is not more than 10 minutes.
SQL flow how-to* - local environment
Using CIBox -> http://cibox.tools
> git pull && vagrant up && sh reinstall.sh
Or ansible-playbook reinstall.yml -i 'localhost,' --connection=local
Using drush -> http://drush.ws
> git pull && drush sql-drop && drush sqlc < dump.sql && prepare settings.php && drush updb
Using drupal console -> http://drupalconsole.com
> git pull && drupal database:drop && drupal database:restore && prepare settings.php && drupal update:
execute
* Depends from project specifics but still - install a site takes
from 3 to a lot of minutes. Best time is not more than 10 minutes.
SQL flow how-to* - remote environment (DEV or STAGE)
Using CIBox -> http://cibox.tools
Using drush or drupal console, manual style...
1. Deploy the codebase
2. Import working database (It should be previously sanitized from client’s sensitive data) -> optional
3. Prepare settings.php -> optional
4. Run update database
5. Import configs if they weren’t imported by hook_update_N
6. Enable development options, modules
* Depends from project specifics but still - install a site takes
from 3 to any amount of minutes. Best time is not more than 10 minutes.
SQL flow how-to* - creating feature branch dev builds
Using CIBox -> http://cibox.tools
1. Create GitHub Pull Request(PR) with changes to be tested.
2. Prefill steps for review
3. Wait for the comment with a link to a dedicated site build. Under the
hood:
a. CI server gets codebase from PR into unique subfolder/subdomain
within CI server vhost
b. Run reinstall.sh with overridden variables for applying CI
environment
c. Run sniffers.sh and tests.sh for checking code quality
Why is it helpful? e.g. CIBox stats...
Projects for 1000+ hours deliver:
● local dev environment is a deploy ~4000 builds.
● CI builds - deploys. generate 2000+ builds.
● remote DEV - deploy as well. ~200 deploys/project
● Staging ~100 deploys
● Production ~50 deploys (~0.5% failed).
Everything executed via reinstall.yml on all environments. Only environment variables
differs in between. Average deploy run is 6 minutes.
The most tested process for CI enabled flows is delivery.
All delivery, devops scripts should be put into the project for team access/development.
Steps for review -> User Guides
Drupal 8 DevOps . Profile and SQL flows.
Manual Code
Review
Profit!!!
To sum up:
● If delivery is an atomic operation - you can move and control development really
fast
● Having virtualized environments helps you get rid of versions nightmare
● Getting builds for a features gives your team a powerful distributed network IDE
● Single Button Deploy makes it fast and easy to be executed by literally anyone
● Putting your automation scripts into the project’s codebase get’s your team a full
control over delivery without sticking to one guy or department
● Having CI server gives you an ability to work remotely
● Manual code review makes your team more skilled and fluent about a project
● Steps for review make your QA/PM/BA and Product Owner as happy as they
should be
Welcome to attend codesprint 05 June 2016
At Sunday we are going
to sprint about CI !!!!
All we need is your brain
B U I L D S
Builds are everywhere!!!
Thanks for your time and attention
Andrii Podanenko
FFW http://ffwagency.com
CIBox http://cibox.tools
Team Lead, Architect.
http://dgo.to/@podarok
Questions?

More Related Content

PDF
CIbox - OpenSource solution for making your #devops better
PDF
Docker SQL Continuous Integration Flow
PPTX
Drupal 8 configuration development flow
PDF
DrupalCon Los Angeles - Continuous Integration Toolbox
PPTX
MoldCamp - multidimentional testing workflow. CIBox.
PDF
Drupal contrib module maintaining
PDF
Live deployment, ci, drupal
PDF
Ci For The Web 2.0 Guy Or Gal
CIbox - OpenSource solution for making your #devops better
Docker SQL Continuous Integration Flow
Drupal 8 configuration development flow
DrupalCon Los Angeles - Continuous Integration Toolbox
MoldCamp - multidimentional testing workflow. CIBox.
Drupal contrib module maintaining
Live deployment, ci, drupal
Ci For The Web 2.0 Guy Or Gal

What's hot (20)

PDF
Lviv 2013 d7 vs d8
PDF
JCConf 2015 workshop 動手玩 Java 專案建置工具
PDF
Lessons Learned: Using Concourse In Production
PPTX
7 Habits of Highly Effective Jenkins Users
PPTX
Jenkins days workshop pipelines - Eric Long
PDF
DOD 2016 - Sebastian Krzyszkowiak - Jenkins: The Pipeline
PDF
7 Habits of Highly Effective Jenkins Users
PPTX
Pipeline as code - new feature in Jenkins 2
PDF
Использование Docker в CI / Александр Акбашев (HERE Technologies)
PDF
How to integrate front end tool via gruntjs
PPTX
Django via Docker
PPTX
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
PPTX
Baking docker using chef
PPTX
Angular boilerplate generator
PDF
An Open-Source Chef Cookbook CI/CD Implementation Using Jenkins Pipelines
PDF
Docker at Djangocon 2013 | Talk by Ken Cochrane
PDF
中華電信 教育訓練
PPTX
Vagrant to-aws-flow
PDF
Concourse - CI for the cloud
PDF
Puppet Camp Paris 2015: Continuous Integration of Puppet Code (Intermediate)
Lviv 2013 d7 vs d8
JCConf 2015 workshop 動手玩 Java 專案建置工具
Lessons Learned: Using Concourse In Production
7 Habits of Highly Effective Jenkins Users
Jenkins days workshop pipelines - Eric Long
DOD 2016 - Sebastian Krzyszkowiak - Jenkins: The Pipeline
7 Habits of Highly Effective Jenkins Users
Pipeline as code - new feature in Jenkins 2
Использование Docker в CI / Александр Акбашев (HERE Technologies)
How to integrate front end tool via gruntjs
Django via Docker
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Baking docker using chef
Angular boilerplate generator
An Open-Source Chef Cookbook CI/CD Implementation Using Jenkins Pipelines
Docker at Djangocon 2013 | Talk by Ken Cochrane
中華電信 教育訓練
Vagrant to-aws-flow
Concourse - CI for the cloud
Puppet Camp Paris 2015: Continuous Integration of Puppet Code (Intermediate)
Ad

Viewers also liked (20)

PDF
Drupal 8 what to wait from
PDF
Vlad Savitsky.Modules parade.DrupalCamp Kyiv 2011
DOCX
Happy ever afters with ci workflow
PPTX
Who is here? DrupalCamp Kyiv 2009 opening
PDF
Drupal на 20-ти мегабайтах или издевательства над Shared Hosting
PDF
Drupal code sprint для новичков
PPT
Порівняння Drupal та Typo3
PDF
Getting started with Ansible. Be efficient.
PDF
Getting Started with DrupalGap
PPT
Drupal Paranoia
PDF
Drupal and diversity of Single sign-on systems
PDF
Build your application in seconds and optimize workflow as much as you can us...
PDF
Andriy Podanenko.Drupal database api.DrupalCamp Kyiv 2011
PPT
Многоязычие сайта на Drupal
ODP
Історія, теорія та використання CMS Drupal
PDF
Start using vagrant now!
PPTX
Drupal Continuous Integration Workflow
PPTX
природна і економна дорожня карта для переходу команди розробки на тест центр...
PDF
Головні Принципи Автоматизації
PDF
Drush - use full power - DrupalCamp Donetsk 2014
Drupal 8 what to wait from
Vlad Savitsky.Modules parade.DrupalCamp Kyiv 2011
Happy ever afters with ci workflow
Who is here? DrupalCamp Kyiv 2009 opening
Drupal на 20-ти мегабайтах или издевательства над Shared Hosting
Drupal code sprint для новичков
Порівняння Drupal та Typo3
Getting started with Ansible. Be efficient.
Getting Started with DrupalGap
Drupal Paranoia
Drupal and diversity of Single sign-on systems
Build your application in seconds and optimize workflow as much as you can us...
Andriy Podanenko.Drupal database api.DrupalCamp Kyiv 2011
Многоязычие сайта на Drupal
Історія, теорія та використання CMS Drupal
Start using vagrant now!
Drupal Continuous Integration Workflow
природна і економна дорожня карта для переходу команди розробки на тест центр...
Головні Принципи Автоматизації
Drush - use full power - DrupalCamp Donetsk 2014
Ad

Similar to Drupal 8 DevOps . Profile and SQL flows. (20)

PDF
Devops with Python by Yaniv Cohen DevopShift
PDF
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
PPTX
DevOps Practices @Pipedrive
PPTX
Using Docker EE to Scale Operational Intelligence at Splunk
PDF
DCEU 18: Building Your Development Pipeline
PDF
SCM Puppet: from an intro to the scaling
PDF
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
PPTX
Fluo CICD OpenStack Summit
PDF
Docker and Puppet for Continuous Integration
PDF
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
PDF
DevOps Fest 2020. immutable infrastructure as code. True story.
PPTX
Drupal local dev
PPTX
Run automated tests in Docker
PDF
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
PDF
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
PPTX
DockerCon 15 Keynote - Day 2
PDF
Lean Drupal Repositories with Composer and Drush
PPTX
Modern Web-site Development Pipeline
PDF
Drupal 8 improvements for developer productivity php symfony and more
PDF
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Devops with Python by Yaniv Cohen DevopShift
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
DevOps Practices @Pipedrive
Using Docker EE to Scale Operational Intelligence at Splunk
DCEU 18: Building Your Development Pipeline
SCM Puppet: from an intro to the scaling
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
Fluo CICD OpenStack Summit
Docker and Puppet for Continuous Integration
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
DevOps Fest 2020. immutable infrastructure as code. True story.
Drupal local dev
Run automated tests in Docker
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
DockerCon 15 Keynote - Day 2
Lean Drupal Repositories with Composer and Drush
Modern Web-site Development Pipeline
Drupal 8 improvements for developer productivity php symfony and more
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin

More from Andrii Podanenko (18)

PDF
Глобальні навчальні дні друпал
PDF
Сейчас самое время...ЖИТЬ!
PDF
Drupal codesprint kyiv drupal cafe 07.02.2013
PDF
Do + ldo for developers(full)
PDF
Диалоговый интенсив 2012 карпаты
PDF
психолог в социальных медиа
PDF
Ubercart7 views catalog ru
PDF
Ubercart7 Dynamic properties ru
ODP
Ubercart 7 ru
PDF
Feeds drupal cafe
PDF
Drupal 7 database api
PDF
Yaremchuk - Drupal CodeLobster
PDF
Yaremchuk - Корпоративные сайты
PDF
управление проектами отношение к клиенту
PDF
Drupal Optimization
PDF
Друпал - стандартні модулі
PDF
Друпал Drush
PPT
Drupal Migrate
Глобальні навчальні дні друпал
Сейчас самое время...ЖИТЬ!
Drupal codesprint kyiv drupal cafe 07.02.2013
Do + ldo for developers(full)
Диалоговый интенсив 2012 карпаты
психолог в социальных медиа
Ubercart7 views catalog ru
Ubercart7 Dynamic properties ru
Ubercart 7 ru
Feeds drupal cafe
Drupal 7 database api
Yaremchuk - Drupal CodeLobster
Yaremchuk - Корпоративные сайты
управление проектами отношение к клиенту
Drupal Optimization
Друпал - стандартні модулі
Друпал Drush
Drupal Migrate

Recently uploaded (20)

PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Advanced IT Governance
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Big Data Technologies - Introduction.pptx
PDF
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
MYSQL Presentation for SQL database connectivity
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
PDF
Electronic commerce courselecture one. Pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Cloud computing and distributed systems.
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Chapter 2 Digital Image Fundamentals.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Advanced IT Governance
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Big Data Technologies - Introduction.pptx
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
Spectral efficient network and resource selection model in 5G networks
MYSQL Presentation for SQL database connectivity
madgavkar20181017ppt McKinsey Presentation.pdf
Electronic commerce courselecture one. Pdf
20250228 LYD VKU AI Blended-Learning.pptx
Cloud computing and distributed systems.
Dropbox Q2 2025 Financial Results & Investor Presentation
The Rise and Fall of 3GPP – Time for a Sabbatical?
NewMind AI Weekly Chronicles - August'25 Week I
NewMind AI Monthly Chronicles - July 2025
Chapter 2 Digital Image Fundamentals.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf

Drupal 8 DevOps . Profile and SQL flows.

  • 1. Drupal 8 DevOps*. Profile and SQL flows. *DevOps is Development Operations Engineer. Takes care about how development process lives and whether it could be improved continuously.
  • 2. About a speaker Andrii Podanenko, FFW Team Lead, Software Architect, DevOps A bunch of contrib modules maintainer D.org power up group mentor UA Localization group manager. http://dgo.to/@podarok @podarok or @podarok_ua
  • 3. Technologies, touched within current session ● Drupal 8(7) ● CIBox (Jenkins, GitHub, Ansible, Virtual Machine) ● Drush, Drupal Console ● Vagrant, Virtualbox, linux containers (Docker style) ● LAMP (Linux, Apache, MySQL, PHP)
  • 4. The crucial point for the development is a... Speed of Delivery
  • 5. If you able to deliver a project for a small amount of time... you can become a winner in terms of marketing and sales
  • 6. If you could demo particular feature any time... you could give the customers thoughts they are controlling the process of developing the product
  • 7. If you could deploy features/fixes more frequently... you could let the customers think they can commit changes to their business easily through the product you are developing
  • 8. If you could provide specific features for UAT* any time... you could get decreased overall UAT time and saved tons of funds for pre launch testing *UAT - User Acceptance Testing
  • 9. If you could test every specific feature on a dedicated environment - feature build (ci build)... your QA could be happy which would make a customer happy as well *QA - Quality Assurance engineer
  • 10. If devs are involved into creating initial user-guides... delivery would be smoother and the client would faster start being more familiar and confident about product usage
  • 11. If your development process facilitates communication and collaboration between developers/team members... you'll create more powerful products in terms of architecture and stability
  • 12. If your process can't be broken by skipping quality rules... your team skills will grow faster and resulting quality won't be affected
  • 13. If your team members could improve development workflow... they'd become more responsible for approaching their tasks
  • 14. How it looks in practice
  • 15. Possible environments for Drupal development ● Local DEV (local developer’s desktop) ● Feature Build (CI server) * ● Static build environments (POC, long term testing feature) *optional ● Remote DEV (Accumulated environment for current master branch) *optional ● Staging (Showroom for a client and UAT) ● Production * Average project outgoings for having CI builds are ● 20-80 $/month hosting ● 35 hours of CI maintenance
  • 16. Possible Drupal 8 development flows 1. Profile - deployment is reinstall a project from scratch. Useful for: a. Initial project creation b. Develop API, library, module, installation suite(platform) c. Drupal.org module maintainer environment d. Develop unit/behat tests with demo content 2. SQL - deployment is fetch/keep SQL data from Live environment and run needed updates. Useful for: a. Content Managers need to prefill a database with a real content data b. Pre launch timeline, testing deployments with ability to keep database data between them c. Service Level Agreement period d. Legacy CMS(non-Drupal) projects e. Acceptance testing
  • 17. Profile flow how-to* - local/remote environment Using CIBox -> http://cibox.tools > git pull && vagrant up && sh reinstall.sh Or ansible-playbook reinstall.yml -i 'localhost,' -- connection=local Using drush -> http://drush.ws > git pull && drush site-install $profile_name $options Using drupal console -> http://drupalconsole.com > git pull && drupal site:install [arguments] [options] * Depends from project specifics but still - install a site takes from 30 seconds to 15 minutes. Best time is not more than 10 minutes.
  • 18. SQL flow how-to* - local environment Using CIBox -> http://cibox.tools > git pull && vagrant up && sh reinstall.sh Or ansible-playbook reinstall.yml -i 'localhost,' --connection=local Using drush -> http://drush.ws > git pull && drush sql-drop && drush sqlc < dump.sql && prepare settings.php && drush updb Using drupal console -> http://drupalconsole.com > git pull && drupal database:drop && drupal database:restore && prepare settings.php && drupal update: execute * Depends from project specifics but still - install a site takes from 3 to a lot of minutes. Best time is not more than 10 minutes.
  • 19. SQL flow how-to* - remote environment (DEV or STAGE) Using CIBox -> http://cibox.tools Using drush or drupal console, manual style... 1. Deploy the codebase 2. Import working database (It should be previously sanitized from client’s sensitive data) -> optional 3. Prepare settings.php -> optional 4. Run update database 5. Import configs if they weren’t imported by hook_update_N 6. Enable development options, modules * Depends from project specifics but still - install a site takes from 3 to any amount of minutes. Best time is not more than 10 minutes.
  • 20. SQL flow how-to* - creating feature branch dev builds Using CIBox -> http://cibox.tools 1. Create GitHub Pull Request(PR) with changes to be tested. 2. Prefill steps for review 3. Wait for the comment with a link to a dedicated site build. Under the hood: a. CI server gets codebase from PR into unique subfolder/subdomain within CI server vhost b. Run reinstall.sh with overridden variables for applying CI environment c. Run sniffers.sh and tests.sh for checking code quality
  • 21. Why is it helpful? e.g. CIBox stats... Projects for 1000+ hours deliver: ● local dev environment is a deploy ~4000 builds. ● CI builds - deploys. generate 2000+ builds. ● remote DEV - deploy as well. ~200 deploys/project ● Staging ~100 deploys ● Production ~50 deploys (~0.5% failed). Everything executed via reinstall.yml on all environments. Only environment variables differs in between. Average deploy run is 6 minutes. The most tested process for CI enabled flows is delivery.
  • 22. All delivery, devops scripts should be put into the project for team access/development.
  • 23. Steps for review -> User Guides
  • 27. To sum up: ● If delivery is an atomic operation - you can move and control development really fast ● Having virtualized environments helps you get rid of versions nightmare ● Getting builds for a features gives your team a powerful distributed network IDE ● Single Button Deploy makes it fast and easy to be executed by literally anyone ● Putting your automation scripts into the project’s codebase get’s your team a full control over delivery without sticking to one guy or department ● Having CI server gives you an ability to work remotely ● Manual code review makes your team more skilled and fluent about a project ● Steps for review make your QA/PM/BA and Product Owner as happy as they should be
  • 28. Welcome to attend codesprint 05 June 2016 At Sunday we are going to sprint about CI !!!! All we need is your brain B U I L D S Builds are everywhere!!!
  • 29. Thanks for your time and attention Andrii Podanenko FFW http://ffwagency.com CIBox http://cibox.tools Team Lead, Architect. http://dgo.to/@podarok Questions?