The code is now completely covered in specs
[lyrix.git] / config / deploy / ubuntu.rb
blobb7ec3a8156a7b3b39e2460c0c9749ff44c333268
1 set :application, "lyrix"
2 set :repository,  "git://repo.or.cz/lyrix.git"
3 set :user, "mattmoriarity"
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, "/var/www/apps/#{application}"
10 # If you aren't using Subversion to manage your source code, specify
11 # your SCM below:
12 set :scm, :git
13 set :git_dir, "#{shared_path}/git"
15 set :domain, "ubuntu"
17 role :app, domain
18 role :web, domain
19 role :db,  domain, :primary => true
21 set :runner, "mattmoriarity"
23 before "deploy:setup", :db
24 after "deploy:update_code", "db:symlink"
26 namespace :db do
27   desc "Create database yaml in shared path"
28   task :default do
29     db_config = ERB.new <<-EOF
30 base: &base
31   adapter: mysql
32   host: localhost
33   username: #{user}
34   password: PASSWORD
36 development:
37   database: #{application}_dev
38   <<: *base
40 test:
41   database: #{application}_test
42   <<: *base
44 production:
45   database: #{application}_prod
46   <<: *base
47     EOF
49     run "mkdir -p #{shared_path}/config"
50     put db_config.result, "#{shared_path}/config/database.yml"
51   end
53   desc "Make symlink for database yaml"
54   task :symlink do
55     run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
56   end
57 end
59 namespace :deploy do 
60   desc <<-DESC 
61     Sets up the git repository clones to :git_dir on the app servers. 
62   DESC
63   task :git_clone, :except => { :no_release => true } do 
64     run(source.clone) 
65   end 
66 end