$ mkdir /home/purwandi/www/app
Selanjutnya melakukan setup dulu dengan melakukan langkah sebagai berikut
$cd /home/purwandi/www/app
$capify
set :application, "App Name" # Your app name | |
set :repository, "[email protected]:xxxxx/xxx.git" # Your git repository | |
set :document_root, "/home/user/www/awesome_app" | |
set :deploy_via, :remote_cache | |
# SSH Settings | |
set :user, "user_ssh" | |
set :password, "password_ssh" | |
set :use_sudo, false | |
set :ssh_options, {:forward_agent => true} | |
set :copy_exclude, [".git",".gitignore"] # or any match like [".svn","/documents-on-repo-but-dont-deploy"] | |
set :keep_releases, 10 # only keep 10 version to save space | |
default_run_options[:pty] = true | |
role :app, "192.168.1.2" | |
role :web, "192.168.1.2" | |
# We need to over write a lot of the core functionality here | |
# since we don't need migrations, lots of the symlink stuff | |
# and server restarting. | |
# cap develop deploy:setup | |
# cap develop deploy:check | |
# cap develop deploy | |
task :develop do | |
set :branch, "develop" | |
set :deploy_to, "#{document_root}/develop" | |
end | |
# cap staging deploy:setup | |
# cap staging deploy:check | |
# cap staging deploy | |
task :staging do | |
set :branch, "staging" | |
set :deploy_to, "#{document_root}/staging" | |
end | |
# cap production deploy:setup | |
# cap production deploy:check | |
# cap production deploy | |
task :production do | |
set :branch, "master" | |
set :deploy_to, "#{document_root}/production" | |
end | |
# This is strictly for PHP deploys | |
namespace :deploy do | |
task :update do | |
transaction do | |
update_code | |
symlink | |
laravel_migrate | |
end | |
end | |
task :finalize_update do | |
transaction do | |
run "chmod -R g+w #{releases_path}/#{release_name}" | |
end | |
end | |
task :symlink do | |
transaction do | |
run "ln -nfs #{current_release} #{deploy_to}/#{current_dir}" | |
end | |
end | |
task :laravel_migrate do | |
transaction do | |
run "php #{deploy_to}/#{current_dir}/artisan migrate:install" | |
run "php #{deploy_to}/#{current_dir}/artisan migrate" | |
end | |
end | |
task :laravel_rollback do | |
run "php #{deploy_to}/#{current_dir}/artisan migrate:rollback" | |
end | |
task :restart do | |
transaction do | |
# set writable storage dir | |
run "chmod -R 777 #{deploy_to}/#{current_dir}/storage/cache" | |
run "chmod -R 777 #{deploy_to}/#{current_dir}/storage/database" | |
run "chmod -R 777 #{deploy_to}/#{current_dir}/storage/logs" | |
run "chmod -R 777 #{deploy_to}/#{current_dir}/storage/sessions" | |
run "chmod -R 777 #{deploy_to}/#{current_dir}/storage/views" | |
run "chmod -R 777 #{deploy_to}/#{current_dir}/storage/work" | |
# remove some junk file | |
run "rm -f #{deploy_to}/#{current_dir}/storage/cache/*" | |
run "rm -f #{deploy_to}/#{current_dir}/storage/views/*" | |
end | |
end | |
end | |
after "deploy:rollback", "deploy:laravel_rollback" |