/ Published in: Ruby
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
set :application, "example_com" set :user, "you" # set :scm_username, user set :repository, "[email protected]:#{user}/#{application}.git" set :deploy_to, "/home/#{user}/public_html/#{application}" set :scm, :git set :django_location, "/home/#{user}/sources/django/trunk" set :django_admin_media, "/django/contrib/admin/media" set :domain, "example.com" role :app, domain role :web, domain role :db, domain, :primary => true # If you use a custom SSH port (a good idea): # ssh_options[:port] = 22 # -------- # Commands # -------- namespace :deploy do desc "Update project from repository" task :default do stream "cd #{deploy_to}; git pull" end desc "Setup a new project" task :cold do stream "git clone #{repository} #{deploy_to};" end end # Deploy desc "Link Admin media to the project static/ folder" task :admin_media do stream "ln -s #{django_location}#{django_admin_media} #{deploy_to}/public/static/base_admin" end after "deploy:cold", "admin_media" desc "Remove *.pyc files" task :delpyc do stream 'cd #{deploy_to};find . -type f -name "*.pyc" -exec rm -fv {} \;' end after "deploy", "delpyc" desc "Restart Apache" task :restart do sudo "/etc/init.d/apache2 restart" end # after "deploy", "restart" desc "Make sure database is in sync with models" task :syncdb do stream "#{deploy_to}/manage.py syncdb" end # ---- # Misc # ---- desc "Find the location of Python's site-packages folder" task :site_packages do stream "python -c 'from distutils.sysconfig import get_python_lib; print get_python_lib()'" end
URL: http://gist.github.com/2039