The code is now completely covered in specs
[lyrix.git] / config / deploy.rb
blobadde0614c85aa731ea84ec39d88e922697c9f481
1 set :application, "lyrix"
2 set :repository,  "git://repo.or.cz/lyrix.git"
3 set :user, "jcmcarpetcare"
5 # If you aren't deploying to /u/apps/#{application} on the target
6 # servers (which is the default), you can specify the actual location
7 # via the :deploy_to variable:
8 set :deploy_to, "/home/#{user}/sites/#{application}"
10 # If you aren't using Subversion to manage your source code, specify
11 # your SCM below:
12 set :scm, :git
13 set :scm_command, "~/bin/git"
14 set :git_dir, "#{shared_path}/git"
16 set :use_sudo, false
17 #set :deploy_via, :copy
19 set :domain, "jcmcarpetcare.com"
21 role :app, domain
22 role :web, domain
23 role :db,  domain, :primary => true
25 require 'erb'
27 before "deploy:setup", :db
28 after "deploy:update_code", "db:symlink"
30 namespace :db do
31   desc "Create database yaml in shared path"
32   task :default do
33     db_config = ERB.new <<-EOF
34 base: &base
35   adapter: mysql
36   host: localhost
37   username: #{user}
38   password: PASSWORD
40 development:
41   database: #{application}_dev
42   <<: *base
44 test:
45   database: #{application}_test
46   <<: *base
48 production:
49   database: #{application}_prod
50   <<: *base
51     EOF
53     run "mkdir -p #{shared_path}/config"
54     put db_config.result, "#{shared_path}/config/database.yml"
55   end
57   desc "Make symlink for database yaml"
58   task :symlink do
59     run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
60   end
61 end
63 namespace :deploy do 
64   desc <<-DESC 
65     Sets up the git repository clones to :git_dir on the app servers. 
66   DESC
67   task :git_clone, :except => { :no_release => true } do 
68     run(source.clone) 
69   end 
70 end