lib/ash/wordpress.rb in capistrano-ash-1.1.19 vs lib/ash/wordpress.rb in capistrano-ash-1.2.0
- old
+ new
@@ -5,72 +5,78 @@
configuration = Capistrano::Configuration.respond_to?(:instance) ?
Capistrano::Configuration.instance(:must_exist) :
Capistrano.configuration(:must_exist)
configuration.load do
-
-# --------------------------------------------
-# Setting defaults
-# --------------------------------------------
-set :uploads_path, "wp-content/uploads"
-# --------------------------------------------
-# Calling our Methods
-# --------------------------------------------
-after "deploy:setup", "deploy:setup_shared"
-after "deploy:symlink", "wordpress:symlink"
-after "ash:fixperms", "wordpress:protect"
+ # --------------------------------------------
+ # Setting defaults
+ # --------------------------------------------
+ set :uploads_path, "wp-content/uploads"
-# --------------------------------------------
-# Overloaded Methods
-# --------------------------------------------
-namespace :deploy do
- desc "Setup shared application directories and permissions after initial setup"
- task :setup_shared, :roles => :web do
- # remove Capistrano specific directories
- run "rm -Rf #{shared_path}/log"
- run "rm -Rf #{shared_path}/pids"
- run "rm -Rf #{shared_path}/system"
-
- # create shared directories
- run "mkdir -p #{shared_path}/uploads"
- run "mkdir -p #{shared_path}/cache"
+ # --------------------------------------------
+ # Calling our Methods
+ # --------------------------------------------
+ after "deploy:setup", "deploy:setup_shared"
+ # after "deploy:create_symlink", "wordpress:symlink"
- # set correct permissions
- run "chmod -R 777 #{shared_path}/*"
- end
+ # workaround for issues with capistrano v2.13.3 and
+ # before/after callbacks not firing for 'deploy:symlink'
+ # or 'deploy:create_symlink'
+ after "deploy", "wordpress:symlink"
+ after "wordpress:symlink", "ash:fixperms"
+ after "ash:fixperms", "wordpress:protect"
- desc "[internal] Touches up the released code. This is called by update_code after the basic deploy finishes."
- task :finalize_update, :roles => :web, :except => { :no_release => true } do
- # remove shared directories
- run "rm -Rf #{latest_release}/#{uploads_path}"
- run "rm -Rf #{latest_release}/wp-content/cache"
-
- # Removing cruft files.
- run "rm -Rf #{latest_release}/license.txt"
- run "rm -Rf #{latest_release}/readme.html"
+ # --------------------------------------------
+ # Overloaded Methods
+ # --------------------------------------------
+ namespace :deploy do
+ desc "Setup shared application directories and permissions after initial setup"
+ task :setup_shared, :roles => :web do
+ # remove Capistrano specific directories
+ run "rm -Rf #{shared_path}/log"
+ run "rm -Rf #{shared_path}/pids"
+ run "rm -Rf #{shared_path}/system"
+
+ # create shared directories
+ run "mkdir -p #{shared_path}/uploads"
+ run "mkdir -p #{shared_path}/cache"
+
+ # set correct permissions
+ run "chmod -R 777 #{shared_path}/*"
+ end
+
+ desc "[internal] Touches up the released code. This is called by update_code after the basic deploy finishes."
+ task :finalize_update, :roles => :web, :except => { :no_release => true } do
+ # remove shared directories
+ run "rm -Rf #{latest_release}/#{uploads_path}"
+ run "rm -Rf #{latest_release}/wp-content/cache"
+
+ # Removing cruft files.
+ run "rm -Rf #{latest_release}/license.txt"
+ run "rm -Rf #{latest_release}/readme.html"
+ end
end
-end
-# --------------------------------------------
-# Wordpress-specific methods
-# --------------------------------------------
-namespace :wordpress do
- desc "Links the correct settings file"
- task :symlink, :roles => :web, :except => { :no_release => true } do
- run "ln -nfs #{shared_path}/uploads #{current_release}/#{uploads_path}"
- run "ln -nfs #{shared_path}/cache #{current_release}/wp-content/cache"
- run "ln -nfs #{latest_release}/wp-config.php.#{stage} #{latest_release}/wp-config.php"
+ # --------------------------------------------
+ # Wordpress-specific methods
+ # --------------------------------------------
+ namespace :wordpress do
+ desc "Links the correct settings file"
+ task :symlink, :roles => :web, :except => { :no_release => true } do
+ run "ln -nfs #{shared_path}/uploads #{current_release}/#{uploads_path}"
+ run "ln -nfs #{shared_path}/cache #{current_release}/wp-content/cache"
+ run "ln -nfs #{latest_release}/wp-config.php.#{stage} #{latest_release}/wp-config.php"
+ end
+
+ desc "Set URL in database"
+ task :updatedb, :roles => :db, :except => { :no_release => true } do
+ run "mysql -u #{dbuser} -p #{dbpass} #{dbname} -e 'UPDATE #{dbprefix}options SET option_value = \"#{application}\" WHERE option_name = \"siteurl\" OR option_name = \"home\"'"
+ end
+
+ desc "Protect system files"
+ task :protect, :except => { :no_release => true } do
+ run "chmod 440 #{latest_release}/wp-config.php*"
+ end
end
-
- desc "Set URL in database"
- task :updatedb, :roles => :db, :except => { :no_release => true } do
- run "mysql -u #{dbuser} -p #{dbpass} #{dbname} -e 'UPDATE #{dbprefix}options SET option_value = \"#{application}\" WHERE option_name = \"siteurl\" OR option_name = \"home\"'"
- end
-
- desc "Protect system files"
- task :protect, :except => { :no_release => true } do
- run "chmod 440 #{latest_release}/wp-config.php*"
- end
-end
end
\ No newline at end of file