ci. drupal camp berlin 2014

18
Development workflow with CI, github and vagrant DrupalCamp Berlin, November 2014

Upload: ygerasimov

Post on 02-Jul-2015

330 views

Category:

Technology


2 download

DESCRIPTION

In this presentation we will talk about development workflow that we use for our projects. We will talk about technologies we found extremely useful to support our processes: * vagrant and tools (puphpet.com, adminer, ssh keys, drush based scripts) * github pull requests workflow, master/stage/prod branches * CI server, static code analyzers, automated testing, builds, demo / staging sites * code based development. We will talk about how do we approach multiple problems like demo content, migration, blocks positioning, installation profile, modules names conventions * visual regression tool (compare screenshots of pages) * prototype approach in theming (make drupal to match html instead of theming drupal's output)

TRANSCRIPT

Page 1: Ci. Drupal Camp Berlin 2014

Development workflow with CI, github and vagrant

DrupalCamp Berlin, November 2014

Page 2: Ci. Drupal Camp Berlin 2014

About me• Yuriy Gerasimov• Developer & Drupal Architect• @ygerasimov

Page 3: Ci. Drupal Camp Berlin 2014

Problems● different people on the team jumps in & out● quality of the project● master database

Page 4: Ci. Drupal Camp Berlin 2014

People jumps in● fast environment setup is critical● same environment● same tools (adminer, drush aliases, ssh keys)

Page 5: Ci. Drupal Camp Berlin 2014

Vagrant● VirtualBox (other providers avaialble)● text file config● provisioners (puppet, chef, shell)● starting point puphpet.com, phansible.com

Page 6: Ci. Drupal Camp Berlin 2014

Quality● code review● code style checks● automated tests

Page 7: Ci. Drupal Camp Berlin 2014

Code review● comment code on pull request● test build site

Page 8: Ci. Drupal Camp Berlin 2014

Jenkins● code style checks (code sniffer, jshint, css-lint)● run tests● build site● other jobs (clear caches)

Page 9: Ci. Drupal Camp Berlin 2014

Profile● site as installation profile● demo content (partial import, custom code)

Page 10: Ci. Drupal Camp Berlin 2014

Code structure● all code in one repo● branch per environemt

Page 11: Ci. Drupal Camp Berlin 2014

Future• docker• behat

Page 12: Ci. Drupal Camp Berlin 2014

Dev process

Page 13: Ci. Drupal Camp Berlin 2014

Production• peaks• late client testing• sync dev & theme• people planning

Page 14: Ci. Drupal Camp Berlin 2014

Prototypes• clickable set of pages• frontend technologies

Page 15: Ci. Drupal Camp Berlin 2014

Prototypes dev• panels + panelizer• custom panes• view modes

Page 16: Ci. Drupal Camp Berlin 2014

Team

Page 17: Ci. Drupal Camp Berlin 2014

Team• architect (solutions, estimates)• PM (communication, budgets)• developers (implementation)• front end (prototype)• qa (testing)

Page 18: Ci. Drupal Camp Berlin 2014

Questions?