DrupalCon Prague 2013

Profesionalizando el deploy de Drupal con WF Tools

Dave Hall, Tim Holt  · 


HTML (pincha para descargar)



Extracto de la transcripción automática del vídeo realizada por YouTube.

good morning everybody thank you guys for coming and excited to see a lot of people here talk about something you've probably never heard of and that's pretty awesome welcome to workflow tools for the win at pfizer present today or me and myself i'm

tim holt and dave hall so get this thing started all right let's talk about who we are I'm Tim hope work for aquia as a technical consultant in the professional services division prior to that I worked at Warner for five years and ran their drupal

and magento platforms also i am a drupe lyst i am a systems architect for usually for high-level type stuff i also specialize in large-scale migrations and you know i get this a lot especially people at drupalcon they've had a little too much to drink

at like midnight I'm not trees here's David hi um dive hole I'm and I take insulting I currently work as a web put web platform strategist at Pfizer I'm a Drupal esta I really enjoy hacking on web apps I'm a seaside min and i'm generally

known as a fat opinionated alternative to svn so before we get started actually I actually have to go through this to keep the visor way is happy so I'm going to be talking about all kinds of stuff today but far as I may or not be using what I'm talking

about they may not continue to use it and if you do anything that I talked about here today and it causes you problems as your own fault for being stupid for listening to what I had to say so tune out now so ok now the way is a happy I can get on with the

presentation so some of you may think that deploying code content and configuration in a coordinated way through multiple environments is the thing of fairy tales well today I'm going to tell you a story that's actually real not a fairy tale so once

upon a time a little boy called trees lived in Belgium I'm not sure how old he is but this entry's with his little pet bunny rabbit and while at uni trees had a little baby called Drupal and his dresses little baby drupal started to grow up and like

many kids triple started doing odd jobs here and there in high school Drupal got a part-time job eventually drupal went to university and after graduating drupal got a job in the media and you know serious media organization started adopting Drupal oops one

day a big corporation rang Drupal and offered rifle a job on the first day dribble turned up for work but it was clear that Drupal didn't quite fit in Drupal was used to doing everything on production one day the bus called and told Drupal to go buy some

new tools oops sorry about dodgy clicker Drupal started searching for new tools and unlike most times you buy stuff on eBay Drupal's new tools arrived the next day and Drupal spots was impressed and they deployed happily ever after and that's the end

of our story that's the end of our session thanks for coming ok so what was in the toolbox that make drupal's boss so happy there was uuid which is universally unique identifier Drupal a core has uuid baked in for Drupal 7 it's in conduit and what

uuid allows us to do is to track a piece of entity from between multiple environments so in dev it might be node 3 on stage it might be node 6 on pride it might be node 5 and we need a way of identifying the node through those multiple environment and to move

them between the different environments who's the deployment uuid and services to be able to push the content between the environment we used rush on the command line because drush allows us to revert features run database updates do all that stuff that

you get RSI from if you do clicking a mouse then this features for exporting configuration I'm assuming that pretty much everyone in this room knows how features work so I'm going bang on about it then there's get all the codon configuration is

kept in version control then there's the rules module which allows us to react to things happening within the system and most often that's triggering Jenkins jobs and then we have custom entities for keeping track of everything these tools allow Drupal

to do things very differently and now i'm going to hand over to Tim who's going to talk about how Drupal does things differently all right thanks team so let's start when Drupal is a little bit younger code goes up and content came down now you

guys probably recognize this workflow if you've worked in Drupal for any amount of time the dev stage production 3 environment scenario is what we're pretty much used to and we're also used to creating code either locally or on development and

then promoting that code through different environments up to staging then up to production ultimately on the flipside usually we create content directly on production if you are doing a small site or a blog you just write a piece of content and publish it

you might be more sophisticated and use something like work match moderation which gives you a really great approval and workflow process if you're really sophisticated you might look into something like SPS which is built from the CSI initiative that

LSD sponsored and being a little preview your content in context again this all happens on production the challenge is that this created a little bit this creates some problems right drupa realized that looking at content on staging a little bit difficult

right because if I'm putting all my content in production and I gotta sync it back to staging I may not do that very often I might have other things on staging that I don't want to wipe out etc so looking at content on staging it's difficult another

thing is there's not an easy-to-read log of every change that I'm making so if I'm a committing code to get then of course I've got my git commit history right I've got branches if I'm using a good branching model which we all are but

I've got you know I've got all my code in one spot but my log of changes on my content is completely somewhere else right it's if I'm doing revisions if I'm using workbench moderation that's it's not a really easy way to see it

and even if you create a view and have a consolidated place to see it it's still very separate from where my code changes our Drupal also had difficulty looking at a single change on its own I think we've all had this scenario where we're developing

probably three or four different features locally and then we're ready to push that up the staging because we want to see it on staging and we might be showing two or three features on staging and then somebody comes along and says I just want to see this

one change I don't want to see these other changes then we go through a big process to try to figure out okay I just want to get that single change on staging in it again it's a difficult I also realized hey we can't bundle content and coach ages

together let's say I've got a code change that introduces a new content type how do i test that well I'm going to be putting creating content on my local machine then when i go to push that to staging i'm going to be creating test content again

on staging then i have to push that to production before then I can engage my whole content workflow of creating unpublished nodes and draft states and all that kind of stuff so again it it's very non-intuitive deployment is often an all-or-nothing event

we all use staging the right way which is that we push all of our changes to staging and push that wholesale up to production every time right yeah what often happens is again you'll have four or five changes sitting on staging and all of a sudden somebody

says oh we have to get this one changeup to production so you end up doing a lot of work to get that one change out push to production where that's usually your first test of pushing that single change anywhere is when you push the production and that's

because deployments can't really be easily tested if you're trying to do single changes also another challenge is different permissions and configuration / environment aren't really possible ride this all may Drupal pretty sad he's got kind

[ ... ]

Nota: se han omitido las otras 4.093 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.