lib/capistrano/tasks/typo3homestead.cap
# vim: ft=ruby:sts=2:expandtab
namespace :typo3 do
namespace :homestead do
desc "init site dirs from scratch (new installs)"
task "init_site_dirs" do
invoke 'git:check_branch'
on roles(:all) do
## PURGE IF NEEDED
execute "sudo rm -Rf #{fetch(:deploy_to)}/shared/fileadmin #{fetch(:deploy_to)}/shared/typo3temp #{fetch(:deploy_to)}/shared/uploads"
## CREATE
execute "sudo mkdir -p #{fetch(:deploy_to)}/shared/fileadmin #{fetch(:deploy_to)}/shared/typo3temp #{fetch(:deploy_to)}/shared/uploads"
['fileadmin','typo3temp','uploads'].each do|dir|
begin
execute "sudo chown -Rfv vagrant.vagrant #{fetch(:deploy_to)}/shared/#{dir}"
rescue
print 'could not CHOWN #{dir}. Propably already owned by vagrant.vagrant'
end
end
end
end
desc "init site database from scratch (new installs) (danger: drops old)"
task "init_site_database" do
invoke 'git:check_branch'
on roles(:all) do
execute "sudo mysql -e 'DROP DATABASE IF EXISTS #{fetch(:dbname)}'"
execute "sudo mysql -e 'CREATE DATABASE #{fetch(:dbname)} CHARACTER SET utf8 COLLATE utf8_general_ci;'"
end
end
desc "setup site (existing installs)"
task "setup_site" do
invoke 'typo3:homestead:init_site_dirs'
invoke 'typo3:homestead:init_site_database'
invoke 'deploy:fixknownhosts'
invoke 'typo3:content:sync_db_from_production'
invoke 'typo3:content:flush_cache_in_db'
invoke 'typo3:helper:update_localconf'
invoke 'typo3:helper:write_tsconstants'
invoke 'typo3:helper:restart_webserver'
invoke 'typo3:content:sync_files_from_production'
end
end
end