Skip to content

Instantly share code, notes, and snippets.

@gagarine
Created November 13, 2012 09:05
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gagarine/4064768 to your computer and use it in GitHub Desktop.
Save gagarine/4064768 to your computer and use it in GitHub Desktop.
drupal deployment
from __future__ import with_statement
from fabric.api import *
@task
def prod():
env.hosts = ['100.100.100.100']
env.user = ""
env.password = ""
env.srvdir = "/home/www/site.com"
env.drush = '/usr/bin/php53 /opt/bin/drush.php'
def init_drupal_profile():
local('cd drupal && drush make --prepare-install --force-complete build-site.make .')
local('cd drupal/sites/all/ && rm -rf modules themes')
local('cd drupal/sites/all/ && ln -s ../../../site_profile/themes/ themes')
local('cd drupal/sites/all/ && ln -s ../../../site_profile/modules/ modules')
local('cd drupal/sites/ && chmod -R 777 default')
# install
local('cd drupal && drush dis -y overlay')
local('cd drupal && drush cc all')
def backup():
run('mkdir -p %s/dump 2> /dev/null' % env.srvdir)
#run('cd %s/drupal && %s bb db download | gzip > ../dump/bdd-prod.sql.gz' % (env.srvdir, env.drush))
run('cd %s/drupal && %s sql-dump | gzip > ../dump/bdd-prod.sql.gz' % (env.srvdir, env.drush))
@task
def deploy():
with cd('%s' % env.srvdir):
run('git fetch')
run('git merge origin/master')
run('cd drupal && %s updb -y' % env.drush)
run('cd drupal && %s dis devel -y' % env.drush)
run('cd drupal && %s cc all' % env.drush)
@task
def fetch():
backup()
get('%s/dump/bdd-prod.sql.gz' % env.srvdir, 'dump/bdd-prod.sql.gz')
local('gunzip -c dump/bdd-prod.sql.gz | mysql -u root dbname')
local('cd drupal && drush cc all')
local('cd drupal && drush en -y devel')
local('rsync -avz --rsh="ssh" user@100.100.100.100:%s/drupal/sites/default/files/* drupal/sites/default/files' % (env.srvdir))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment