SlideShare a Scribd company logo
Drupal CI/development 
workflow by ProPeople 
born in Ukraine... 
...or how to make developers hate you
Plan: 
- technologies overview 
- development rules 
- team roles 
- development phases 
- full workflow 
- demo 
- bottlenecks
Technologies, techniks (DevOps) 
● github, every developer has it’s own fork of master repo 
● jenkins (github Pull Request builder plugin) 
● code sniffers stack (PHP CodeSniffer, JSHint, SCSS-lint, twig-lint) 
● every PR has it’s own unique drupal site built from scratch 
● drupal profile/update_path driven development (drush si 
profile_name ... for every PR/stage build) 
● manual code review, functional review before merging to 
master branch 
● vagrant box and drupal codebase in one repo. 
● reinstall.sh, runsniffers.sh, pull_stage.sh scripts in drupal subdirectory 
in repo, executed at CI server every build. Can be used locally. 
● github cibox repo for ansible scripts for ability to install whole 
infrastructure in ~15 minutes.
Team rules
Rule #1 
master branch is stable 
● No code in master branch without 
tests/sniffers/review 
● Master branch is more stable than 
stage/production
Rule #2 
PR creator denied from merging own 
code 
● Code has to be reviewed by other team 
member before merging 
● merge without review means breaking builds
Rule #3 (optional) 
bugs should be fixed by reviewer 
● Review means responsibility 
● Team has >=2 members that know how it 
works
Rule #4 
There should be 2 siblings at every 
project for every role 
● 2 architects/devops (architech + team lead) 
● 2 frontend developers (senior + 
middle/junior) 
● 2 devs (senior + junior, middle + middle) 
● 1 pm
Team roles
Roles, Architect 
● discuss technical solutions with client, gathering specs 
● create project architecture (how things should be 
implemented) 
● create tickets, split to subtickets (help from PM) 
● estimate tickets 
● code review, code quality assurance 
● not much coding at all, some research, more 
management position than coding
Roles, PM 
● demos to client, gather specs, bug reports 
● make sure all tasks are defined as tickets 
● review functionality implementation from 
clients perspective 
● control priorities of execution of tickets 
● resources and budget planning
Roles, Developer 
● implement tickets according to specifications 
● code review of other developer’s work
Development phases 
1 - Reinstall from scratch every build 
reinstall script 
2 - Update path, content can be edited at 
staging 
pull_stage script 
3 - SLA(production) 
update path testing on staging
Full workflow
demo
CI workflow bottlenecks
New developers/freelancers should learn the 
rules
DevOps must be team member
Code review get hurt
CI workflow bottlenecks 
CI server down - commits stuck. 
Builds become slow on large projects. 
Decent desktops for dev team(SSD, lot of RAM) 
Overall process looks/feels slow 
Non responsible team member can brake a lot 
Team should consist from siblings 
Minimal task ~ 1 hour
Thank You 
Questions? 
Andriy Podanenko, http://dgo.to/@podarok 
Software Architect, DevOps 
Druler / ProPeople

More Related Content

What's hot (20)

PDF
Jenkins to Gitlab - Intelligent Build-Pipelines
Christian Münch
 
PPTX
Git in Continuous Deployment
Brett Child
 
PPT
Automating Drupal Deployment
Gerald Villorente
 
PDF
Production Ready WordPress #WPLDN
Edmund Turbin
 
PDF
Code driven development in drupal
Andriy Yun
 
PPTX
Session 2
gayathiry
 
PPTX
Session 2
gayathiry
 
PPTX
Continuous integration using atlassian bamboo
Alexander Masalov
 
PPTX
Continuous Integration with Bamboo for Salesforce
Klea Kolaric
 
PPTX
A successful Git branching model
abodeltae
 
PDF
"The Story of Declarative React at Grammarly: From two-way data binding with ...
Fwdays
 
PPTX
Git collaboration
Pham Quy (Jack)
 
PDF
Linux Kernel Selftest Framework - Quality Control for New Releases
Samsung Open Source Group
 
PDF
Production Ready WordPress - WC Utrecht 2017
Edmund Turbin
 
PDF
Android + jenkins
Fred Lin
 
PPTX
Jenkins
penetration Tester
 
PDF
Graphql usage
Valentin Buryakov
 
PPT
Flash Camp Chennai - Build automation of Flex and AIR applications
RIA RUI Society
 
ODP
Jenkins Pipelining and Gatling Integration
Knoldus Inc.
 
PDF
Jenkins Declarative Pipelines 101
Malcolm Groves
 
Jenkins to Gitlab - Intelligent Build-Pipelines
Christian Münch
 
Git in Continuous Deployment
Brett Child
 
Automating Drupal Deployment
Gerald Villorente
 
Production Ready WordPress #WPLDN
Edmund Turbin
 
Code driven development in drupal
Andriy Yun
 
Session 2
gayathiry
 
Session 2
gayathiry
 
Continuous integration using atlassian bamboo
Alexander Masalov
 
Continuous Integration with Bamboo for Salesforce
Klea Kolaric
 
A successful Git branching model
abodeltae
 
"The Story of Declarative React at Grammarly: From two-way data binding with ...
Fwdays
 
Git collaboration
Pham Quy (Jack)
 
Linux Kernel Selftest Framework - Quality Control for New Releases
Samsung Open Source Group
 
Production Ready WordPress - WC Utrecht 2017
Edmund Turbin
 
Android + jenkins
Fred Lin
 
Graphql usage
Valentin Buryakov
 
Flash Camp Chennai - Build automation of Flex and AIR applications
RIA RUI Society
 
Jenkins Pipelining and Gatling Integration
Knoldus Inc.
 
Jenkins Declarative Pipelines 101
Malcolm Groves
 

Viewers also liked (20)

PDF
Jenkins Workflow Webinar - Dec 10, 2014
CloudBees
 
PDF
Feeds drupal cafe
Andrii Podanenko
 
PDF
Ubercart7 views catalog ru
Andrii Podanenko
 
PPTX
Drupal 8 configuration development flow
Andrii Podanenko
 
PDF
Drupal Optimization
Andrii Podanenko
 
PDF
Docker SQL Continuous Integration Flow
Andrii Podanenko
 
PDF
Drupal codesprint kyiv drupal cafe 07.02.2013
Andrii Podanenko
 
PDF
Do + ldo for developers(full)
Andrii Podanenko
 
DOCX
Happy ever afters with ci workflow
Albina Tiupa
 
PDF
Drupal на 20-ти мегабайтах или издевательства над Shared Hosting
Andrii Podanenko
 
PPTX
Who is here? DrupalCamp Kyiv 2009 opening
Drupal Camp Kyiv
 
PDF
Drupal code sprint для новичков
Ovadiah Myrgorod
 
PPT
Порівняння Drupal та Typo3
Drupal Camp Kyiv
 
PDF
CIbox - OpenSource solution for making your #devops better
Andrii Podanenko
 
PPT
Drupal Paranoia
Drupal Camp Kyiv
 
PDF
Lviv 2013 d7 vs d8
Andy Postnikov
 
PDF
Andriy Podanenko.Drupal database api.DrupalCamp Kyiv 2011
camp_drupal_ua
 
PDF
Live deployment, ci, drupal
Andrii Podanenko
 
PDF
Drupal contrib module maintaining
Andrii Podanenko
 
PDF
Start using vagrant now!
Andrii Podanenko
 
Jenkins Workflow Webinar - Dec 10, 2014
CloudBees
 
Feeds drupal cafe
Andrii Podanenko
 
Ubercart7 views catalog ru
Andrii Podanenko
 
Drupal 8 configuration development flow
Andrii Podanenko
 
Drupal Optimization
Andrii Podanenko
 
Docker SQL Continuous Integration Flow
Andrii Podanenko
 
Drupal codesprint kyiv drupal cafe 07.02.2013
Andrii Podanenko
 
Do + ldo for developers(full)
Andrii Podanenko
 
Happy ever afters with ci workflow
Albina Tiupa
 
Drupal на 20-ти мегабайтах или издевательства над Shared Hosting
Andrii Podanenko
 
Who is here? DrupalCamp Kyiv 2009 opening
Drupal Camp Kyiv
 
Drupal code sprint для новичков
Ovadiah Myrgorod
 
Порівняння Drupal та Typo3
Drupal Camp Kyiv
 
CIbox - OpenSource solution for making your #devops better
Andrii Podanenko
 
Drupal Paranoia
Drupal Camp Kyiv
 
Lviv 2013 d7 vs d8
Andy Postnikov
 
Andriy Podanenko.Drupal database api.DrupalCamp Kyiv 2011
camp_drupal_ua
 
Live deployment, ci, drupal
Andrii Podanenko
 
Drupal contrib module maintaining
Andrii Podanenko
 
Start using vagrant now!
Andrii Podanenko
 
Ad

Similar to Drupal Continuous Integration Workflow (20)

PDF
My "Perfect" Toolchain Setup for Grails Projects
GR8Conf
 
PPTX
Modern Web-site Development Pipeline
GlobalLogic Ukraine
 
PDF
DrupalCon Los Angeles - Continuous Integration Toolbox
Andrii Podanenko
 
PPTX
MoldCamp - multidimentional testing workflow. CIBox.
Andrii Podanenko
 
PDF
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
 
PDF
Devops with Python by Yaniv Cohen DevopShift
Yaniv cohen
 
ODP
Building and Deploying MediaSalsa, an Open Source DAM as Saas platform
Kris Buytaert
 
DOC
PrashantSoni_exp_embeddedSwDevelopment_latest
Prashant Soni
 
PDF
Achieving Full Stack DevOps at Colonial Life
DevOps.com
 
PDF
The Evolving Role of Build Engineering in Managing Open Source
DevOps.com
 
PPTX
Настройка окружения для кросскомпиляции проектов на основе docker'a
corehard_by
 
PPTX
Sample Project using design patterns and agile
Vicente Bolea
 
PPTX
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Gibran Badrulzaman
 
PPTX
Continuous testing
Oleksandr Metelytsia
 
PDF
Drupal 8 DevOps . Profile and SQL flows.
Andrii Podanenko
 
PPTX
Html5 devconf nodejs_devops_shubhra
Shubhra Kar
 
PDF
Getting Started with Performance Co-Pilot
Paul V. Novarese
 
PDF
LCE13: Test and Validation Summit: The future of testing at Linaro
Linaro
 
PDF
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
Linaro
 
DOCX
Resume S
Shminderjit Singh
 
My "Perfect" Toolchain Setup for Grails Projects
GR8Conf
 
Modern Web-site Development Pipeline
GlobalLogic Ukraine
 
DrupalCon Los Angeles - Continuous Integration Toolbox
Andrii Podanenko
 
MoldCamp - multidimentional testing workflow. CIBox.
Andrii Podanenko
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
 
Devops with Python by Yaniv Cohen DevopShift
Yaniv cohen
 
Building and Deploying MediaSalsa, an Open Source DAM as Saas platform
Kris Buytaert
 
PrashantSoni_exp_embeddedSwDevelopment_latest
Prashant Soni
 
Achieving Full Stack DevOps at Colonial Life
DevOps.com
 
The Evolving Role of Build Engineering in Managing Open Source
DevOps.com
 
Настройка окружения для кросскомпиляции проектов на основе docker'a
corehard_by
 
Sample Project using design patterns and agile
Vicente Bolea
 
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Gibran Badrulzaman
 
Continuous testing
Oleksandr Metelytsia
 
Drupal 8 DevOps . Profile and SQL flows.
Andrii Podanenko
 
Html5 devconf nodejs_devops_shubhra
Shubhra Kar
 
Getting Started with Performance Co-Pilot
Paul V. Novarese
 
LCE13: Test and Validation Summit: The future of testing at Linaro
Linaro
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
Linaro
 
Ad

More from Andrii Podanenko (16)

PDF
Глобальні навчальні дні друпал
Andrii Podanenko
 
PPTX
природна і економна дорожня карта для переходу команди розробки на тест центр...
Andrii Podanenko
 
PDF
Головні Принципи Автоматизації
Andrii Podanenko
 
PDF
Сейчас самое время...ЖИТЬ!
Andrii Podanenko
 
PDF
Drupal 8 what to wait from
Andrii Podanenko
 
PDF
Диалоговый интенсив 2012 карпаты
Andrii Podanenko
 
PDF
психолог в социальных медиа
Andrii Podanenko
 
PDF
Ubercart7 Dynamic properties ru
Andrii Podanenko
 
ODP
Ubercart 7 ru
Andrii Podanenko
 
PDF
Drupal 7 database api
Andrii Podanenko
 
PDF
Yaremchuk - Drupal CodeLobster
Andrii Podanenko
 
PDF
Yaremchuk - Корпоративные сайты
Andrii Podanenko
 
PDF
управление проектами отношение к клиенту
Andrii Podanenko
 
PDF
Друпал - стандартні модулі
Andrii Podanenko
 
PDF
Друпал Drush
Andrii Podanenko
 
PPT
Drupal Migrate
Andrii Podanenko
 
Глобальні навчальні дні друпал
Andrii Podanenko
 
природна і економна дорожня карта для переходу команди розробки на тест центр...
Andrii Podanenko
 
Головні Принципи Автоматизації
Andrii Podanenko
 
Сейчас самое время...ЖИТЬ!
Andrii Podanenko
 
Drupal 8 what to wait from
Andrii Podanenko
 
Диалоговый интенсив 2012 карпаты
Andrii Podanenko
 
психолог в социальных медиа
Andrii Podanenko
 
Ubercart7 Dynamic properties ru
Andrii Podanenko
 
Ubercart 7 ru
Andrii Podanenko
 
Drupal 7 database api
Andrii Podanenko
 
Yaremchuk - Drupal CodeLobster
Andrii Podanenko
 
Yaremchuk - Корпоративные сайты
Andrii Podanenko
 
управление проектами отношение к клиенту
Andrii Podanenko
 
Друпал - стандартні модулі
Andrii Podanenko
 
Друпал Drush
Andrii Podanenko
 
Drupal Migrate
Andrii Podanenko
 

Recently uploaded (20)

PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 

Drupal Continuous Integration Workflow

  • 1. Drupal CI/development workflow by ProPeople born in Ukraine... ...or how to make developers hate you
  • 2. Plan: - technologies overview - development rules - team roles - development phases - full workflow - demo - bottlenecks
  • 3. Technologies, techniks (DevOps) ● github, every developer has it’s own fork of master repo ● jenkins (github Pull Request builder plugin) ● code sniffers stack (PHP CodeSniffer, JSHint, SCSS-lint, twig-lint) ● every PR has it’s own unique drupal site built from scratch ● drupal profile/update_path driven development (drush si profile_name ... for every PR/stage build) ● manual code review, functional review before merging to master branch ● vagrant box and drupal codebase in one repo. ● reinstall.sh, runsniffers.sh, pull_stage.sh scripts in drupal subdirectory in repo, executed at CI server every build. Can be used locally. ● github cibox repo for ansible scripts for ability to install whole infrastructure in ~15 minutes.
  • 5. Rule #1 master branch is stable ● No code in master branch without tests/sniffers/review ● Master branch is more stable than stage/production
  • 6. Rule #2 PR creator denied from merging own code ● Code has to be reviewed by other team member before merging ● merge without review means breaking builds
  • 7. Rule #3 (optional) bugs should be fixed by reviewer ● Review means responsibility ● Team has >=2 members that know how it works
  • 8. Rule #4 There should be 2 siblings at every project for every role ● 2 architects/devops (architech + team lead) ● 2 frontend developers (senior + middle/junior) ● 2 devs (senior + junior, middle + middle) ● 1 pm
  • 10. Roles, Architect ● discuss technical solutions with client, gathering specs ● create project architecture (how things should be implemented) ● create tickets, split to subtickets (help from PM) ● estimate tickets ● code review, code quality assurance ● not much coding at all, some research, more management position than coding
  • 11. Roles, PM ● demos to client, gather specs, bug reports ● make sure all tasks are defined as tickets ● review functionality implementation from clients perspective ● control priorities of execution of tickets ● resources and budget planning
  • 12. Roles, Developer ● implement tickets according to specifications ● code review of other developer’s work
  • 13. Development phases 1 - Reinstall from scratch every build reinstall script 2 - Update path, content can be edited at staging pull_stage script 3 - SLA(production) update path testing on staging
  • 15. demo
  • 18. DevOps must be team member
  • 20. CI workflow bottlenecks CI server down - commits stuck. Builds become slow on large projects. Decent desktops for dev team(SSD, lot of RAM) Overall process looks/feels slow Non responsible team member can brake a lot Team should consist from siblings Minimal task ~ 1 hour
  • 21. Thank You Questions? Andriy Podanenko, http://dgo.to/@podarok Software Architect, DevOps Druler / ProPeople