local, development, stage, production, huh?! - drupal · • local development environment(s) •...

49
Local, Development, Stage, Production, Huh?! Michael Anello @ultimike Thursday, January 31, 13

Upload: others

Post on 21-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Local, Development, Stage, Production,

Huh?!Michael Anello

@ultimike

Thursday, January 31, 13

Page 2: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

You can build a Drupal site. Good job.

Thursday, January 31, 13

Page 3: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

You can also probably get it up-and-running

on a shared development server.

Thursday, January 31, 13

Page 4: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Thursday, January 31, 13

Page 5: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

...and do it in a way that its content is up-to-

date

Thursday, January 31, 13

Page 6: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

...and it is password-protected from prying

eyes

Thursday, January 31, 13

Page 7: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

...and code updates stay in-sync with the

production server.

Thursday, January 31, 13

Page 8: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Also, don’t lose any content.

Thursday, January 31, 13

Page 9: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

And do it quickly.

Thursday, January 31, 13

Page 10: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Thursday, January 31, 13

Page 11: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Setting up a production workflow

Thursday, January 31, 13

Page 12: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

What do we want?

Thursday, January 31, 13

Page 13: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

What do we want?

Thursday, January 31, 13

Page 14: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

What do we want?

• Local development environment(s)

Thursday, January 31, 13

Page 15: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

What do we want?

• Local development environment(s)

• Shared development environment

Thursday, January 31, 13

Page 16: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

What do we want?

• Local development environment(s)

• Shared development environment

• Shared staging environment (optional)

Thursday, January 31, 13

Page 17: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

What do we want?

• Local development environment(s)

• Shared development environment

• Shared staging environment (optional)

• Production environment

Thursday, January 31, 13

Page 18: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

What do we want?

• Local development environment(s)

• Shared development environment

• Shared staging environment (optional)

• Production environment

• The ability to easily move code, data, and files between each.

Thursday, January 31, 13

Page 19: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

The most important thing to remember...

Thursday, January 31, 13

Page 20: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Code flows up

Thursday, January 31, 13

Page 21: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Data flows downThursday, January 31, 13

Page 22: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Production

Stage

Development

Local(s)

Database/Files Code

Thursday, January 31, 13

Page 23: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Pretty picture, but how do I actually do that?

Thursday, January 31, 13

Page 24: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

FTP

SSH

SCP

RSYNCDrush

Git

SVN

SFTP

Backup and

Migrate

mysqldump

Thursday, January 31, 13

Page 25: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

There’s lots of options.

Thursday, January 31, 13

Page 26: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Let’s consider three of them...

Thursday, January 31, 13

Page 27: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Good(ish), Better, and Best.

Thursday, January 31, 13

Page 28: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Good(ish)

Thursday, January 31, 13

Page 29: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Good(ish)• Use FTP/SFTP to move code up and files

down

Thursday, January 31, 13

Page 30: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Good(ish)• Use FTP/SFTP to move code up and files

down

• Use the Backup and Migrate module to move databases down.

Thursday, January 31, 13

Page 31: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Good(ish)• Use FTP/SFTP to move code up and files

down

• Use the Backup and Migrate module to move databases down.

• Pro: it does the job (barely)

Thursday, January 31, 13

Page 32: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Good(ish)• Use FTP/SFTP to move code up and files

down

• Use the Backup and Migrate module to move databases down.

• Pro: it does the job (barely)

• Con: No (easy) way to keep track of what has been updated where.

Thursday, January 31, 13

Page 33: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Good(ish)• Use FTP/SFTP to move code up and files

down

• Use the Backup and Migrate module to move databases down.

• Pro: it does the job (barely)

• Con: No (easy) way to keep track of what has been updated where.

• Con: Easy to overwrite something and have no way back.

Thursday, January 31, 13

Page 34: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Better

Thursday, January 31, 13

Page 35: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Better• Use version control (git/svn) to move code

up

Thursday, January 31, 13

Page 36: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Better• Use version control (git/svn) to move code

up

• Use FTP/SFTP/SSH/SCP to move files down.

Thursday, January 31, 13

Page 37: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Better• Use version control (git/svn) to move code

up

• Use FTP/SFTP/SSH/SCP to move files down.

• Use the Backup and Migrate module to move databases down.

Thursday, January 31, 13

Page 38: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Better• Use version control (git/svn) to move code

up

• Use FTP/SFTP/SSH/SCP to move files down.

• Use the Backup and Migrate module to move databases down.

• Pro: it does the job

Thursday, January 31, 13

Page 39: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Better• Use version control (git/svn) to move code

up

• Use FTP/SFTP/SSH/SCP to move files down.

• Use the Backup and Migrate module to move databases down.

• Pro: it does the job

• Pro: relatively easy to revert code

Thursday, January 31, 13

Page 40: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Better• Use version control (git/svn) to move code

up

• Use FTP/SFTP/SSH/SCP to move files down.

• Use the Backup and Migrate module to move databases down.

• Pro: it does the job

• Pro: relatively easy to revert code

• Con: possible to overwrite database.Thursday, January 31, 13

Page 41: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Best

Thursday, January 31, 13

Page 42: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Best• Use version control (git/svn) to move code

up

Thursday, January 31, 13

Page 43: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Best• Use version control (git/svn) to move code

up

• Use Drush (aliases) rsync and sql-sync to move files down and database down.

Thursday, January 31, 13

Page 44: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Best• Use version control (git/svn) to move code

up

• Use Drush (aliases) rsync and sql-sync to move files down and database down.

• Pro: it does the job really, really, really well

Thursday, January 31, 13

Page 45: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Best• Use version control (git/svn) to move code

up

• Use Drush (aliases) rsync and sql-sync to move files down and database down.

• Pro: it does the job really, really, really well

• Pro: relatively easy to revert code

Thursday, January 31, 13

Page 46: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Best• Use version control (git/svn) to move code

up

• Use Drush (aliases) rsync and sql-sync to move files down and database down.

• Pro: it does the job really, really, really well

• Pro: relatively easy to revert code

• Pro: ability to put permission controls on each step

Thursday, January 31, 13

Page 47: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Best• Use version control (git/svn) to move code

up

• Use Drush (aliases) rsync and sql-sync to move files down and database down.

• Pro: it does the job really, really, really well

• Pro: relatively easy to revert code

• Pro: ability to put permission controls on each step

• Con: lots of learning to do!Thursday, January 31, 13

Page 48: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Resources

Thursday, January 31, 13

Page 49: Local, Development, Stage, Production, Huh?! - Drupal · • Local development environment(s) • Shared development environment • Shared staging environment (optional) • Production

Resources

• Workflow for Solo Developers and Small Teams - presentation by Emma Jane Hogbin - http://tutr.tv/t6194

Thursday, January 31, 13