Hi, Unlike a lot of CMSes out there, Drupal has an excellent automation tool in the form of Drush. With a bit of Puppet magic, you can automate most of the common tasks and components in building a Drupal site (or managing a multisite install). I''ve written up some example recipes which I use for managing a bunch of Drupal installs: http://bitfieldconsulting.com/puppet-drupal Is anyone else managing Drupal with Puppet? Have you done things differently, or do you have extra things which I''ve missed out? Is there a better way to do the stuff that I''ve shown in the article? I''d love to get some feedback. In particular I''d like to hear about staging and deployment issues with Drupal. One interesting thing that already came up in comments is embedding secrets into Puppet code, which was discussed here recently. I think that would be my first thing to improve. John -- Bitfield Consulting: we make software that makes things work http://bitfieldconsulting.com/ -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
On Mon, Feb 08, 2010 at 03:35:18PM +0000, John Arundel wrote:> Hi, > > Unlike a lot of CMSes out there, Drupal has an excellent automation > tool in the form of Drush. With a bit of Puppet magic, you can > automate most of the common tasks and components in building a Drupal > site (or managing a multisite install). I''ve written up some example > recipes which I use for managing a bunch of Drupal installs: > > http://bitfieldconsulting.com/puppet-drupal > > Is anyone else managing Drupal with Puppet? Have you done things > differently, or do you have extra things which I''ve missed out? Is > there a better way to do the stuff that I''ve shown in the article? I''d > love to get some feedback. In particular I''d like to hear about > staging and deployment issues with Drupal. > > One interesting thing that already came up in comments is embedding > secrets into Puppet code, which was discussed here recently. I think > that would be my first thing to improve.Hi John, We actually just finished a bunch of recipes to deploy Drupal using Puppet, but we didn''t know about Drush, which would have saved me a lot of work :-) But I really like your post, it''s going to help us a bit when we revisit this. We mostly did the same thing you did, except that we wrote our own substitute for Drush. One thing we did which we like is that we set up a git repository for our themes. The theme designer can check into the development or production branches of that repo, and the appropriate server will pull down the changes. With the existence of Drush, I think the next step would be to actually roll that into a package provider so you could write: package { "content": ensure => present, provider => "drupal-module", target => "/etc/drupal/6/sites/all" } or the like. Cheers, -- Eric Gerlach, Network Administrator Federation of Students University of Waterloo p: (519) 888-4567 x36329 e: egerlach@feds.uwaterloo.ca -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
On Tue, Feb 9, 2010 at 7:58 PM, Eric Gerlach <egerlach@feds.uwaterloo.ca> wrote:> One thing we did which we like is that we set up a git repository for our > themes. The theme designer can check into the development or production > branches of that repo, and the appropriate server will pull down the changes.Coincidence - I''ve done the same thing (but each site is its own Git repo, including themes, images and so on). This way I can check out and edit CSS code in Textmate and then commit it back and push to the server.> With the existence of Drush, I think the next step would be to actually roll > that into a package provider so you could write: > > package { "content": > ensure => present, > provider => "drupal-module", > target => "/etc/drupal/6/sites/all" > }That sounds like a great idea - I haven''t yet taken the step of having Puppet actually deploy the content to the site. Regards, J -- Bitfield Consulting: we make software that makes things work http://bitfieldconsulting.com/ -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.