enterprise web development Deployment ... - SandCamp 2011

stovenumerousInternet και Εφαρμογές Web

4 Δεκ 2013 (πριν από 3 χρόνια και 6 μήνες)

91 εμφανίσεις

Revolutionizing
enterprise web
development
Deployment Management
Introductions

Shawn Smiley

Lead Engineer at Achieve Internet

14 Years experience in software design &
development

shawn.smiley@achieveinternet.com
Agenda

What is deployment management?

Tools

Drupal Setup

Common scenarios

Questions
What is it?

Deployment management is the process of
reliably developing and deploying application
updates to one or more destinations.

More than just copying files
Why is it difficult?

Configuration changes

Emergency bug fixes

Dealing with content
Tools

Version Control System (VCS) (git, svn, etc.)

Drush and Shell scripts

Drupal Modules

Features and Strongarm

Backup and Migrate

Backup and Migrate Files

Deployment
Drupal setup

Keep configuration in code

Write update hooks

Organize your files folder

Automated tests
File folder organization

Files

Content

Banners

Stock photos

Flash

Videos

User Submitted Content

Uid –OR– Topic/Category
Scenario: Bundled Releases

SCM Pattern: “Main Line”

Tag release in VCS

Backup target environment!!

Use SCM tool to switch to the release tag

Run update.php (if needed)

Revert Features (if needed)
Main Line SCM Pattern
Credit: “Software Configuration Management Patterns” by Stephen P. Berczuk pg. 55
Scenario: Prod to Dev

Update code via VCS

Run Backup/Migrate to move DB & files to dev

Keep dev specific configurations as overrides in
settings.php
Scenario: Cherry Picked Releases

SCM Patterns: “Task Branch” and “Codeline”

Recommend 3 environments: QA, Staging,
Production

Merge task branches into environment branches
for releases

Sync environments from their respective
environment branch

Remember to tag!
Task Branch SCM Pattern
Credit: “Software Configuration Management Patterns” by Stephen P. Berczuk pg. 161
Task & Codeline SCM Patterns
Credit: Shawn Smiley
Questions?

Resources:

Book:
Software Configuration Management
by Stephen P.
Berczuk

Backup and Migrate: http://drupal.org/project/backup_migrate

Backup and Migrate Files:
http://drupal.org/project/backup_migrate_files

Drush: http://drupal.org/project/drush

Features: http://drupal.org/project/features

Strongarm: http://drupal.org/project/strongarm

Deployment: http://drupal.org/project/deploy
Thank You