namespace :git do
desc 'Git pull for common code project' task :pull_common do on roles(:app) do within "/var/www/common" do execute :git, :pull, :origin, :master end if test("[ -d /var/www/common ]") end end after "deploy:updating", "git:pull_common" desc 'Deploy from local git repository' task :deploy_from_local_repo do set :repo_url, "file:///tmp/.git" run_locally do execute "tar -zcvf /tmp/repo.tgz .git" end on roles(:all) do upload! '/tmp/repo.tgz', '/tmp/repo.tgz' execute 'tar -zxvf /tmp/repo.tgz -C /tmp' end end desc 'Removes repo (useful when repo_url changes)' task :remove_repo do on roles(:all) do execute "rm -r #{repo_path}" end end
end