Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set :application, "clever_name"
- set :user, "deploy"
- set :scm_username, "you"
- set :repository, "git@github.com:#{scm_username}/#{application}.git"
- set :deploy_to, "/var/www/apps/#{application}"
- set :scm, :git
- set :django_location, "/usr/local/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 media/ folder"
- task :admin_media do
- stream "ln -s #{django_location}#{django_admin_media} #{deploy_to}/public/media/admin"
- end
- after "deploy:cold", "admin_media"
- desc "Restart Apache"
- task :restart do
- sudo "/etc/init.d/apache2 restart"
- end
- after "deploy:cold", "restart"
- desc "Set SQLite3 permissions for Apache user"
- task :sqlite_perms do
- sudo "chgrp -R www-data #{deploy_to}/db; chmod -R 775 #{deploy_to}/db"
- end
- after "deploy:cold", "sqlite_perms"
- desc "Make sure database is in sync with models"
- task :syncdb do
- stream "#{deploy_to}/manage.py syncdb"
- end
- after "deploy:cold", "syncdb"
- desc "Don't use this"
- task :wipe_deployment do
- stream "rm -rf #{deploy_to}"
- 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
Add Comment
Please, Sign In to add comment