~charmers/charms/precise/rails/trunk

« back to all changes in this revision

Viewing changes to cookbooks/rack/recipes/deploy.rb

  • Committer: Pavel Pachkovskij
  • Date: 2013-08-21 10:46:29 UTC
  • mto: This revision was merged to the branch mainline in revision 10.
  • Revision ID: pavel.pachkovskij@gmail.com-20130821104629-zgrf6efx90tkf0ps
add rvm-installer, move cookbooks to CHARM_DIR

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
extra_packages node[:juju][:extra_packages] do
 
2
  action :install
 
3
end
 
4
 
 
5
scm_provider node[:juju][:scm_provider] do
 
6
  deploy_key node[:juju][:deploy_key]
 
7
  owner 'deploy'
 
8
  group 'deploy'
 
9
  action :bootstrap
 
10
end
 
11
 
 
12
rack_envfile "#{node[:rack][:root]}/shared/.env" do
 
13
  variables({
 
14
    rack_env: node[:juju][:rack_env],
 
15
    rails_env: node[:juju][:rack_env],
 
16
    port: 8080
 
17
  })
 
18
  user 'deploy'
 
19
  group 'deploy'
 
20
  mode '0644'
 
21
  action :merge
 
22
end
 
23
 
 
24
deploy_revision node[:rack][:root] do
 
25
  repo node[:juju][:repo]
 
26
  action :deploy
 
27
 
 
28
  user 'deploy'
 
29
  group 'deploy'
 
30
 
 
31
  symlink_before_migrate({'config/database.yml' => 'config/database.yml',
 
32
                          '.env' => '.env'})
 
33
 
 
34
  case node[:juju][:scm_provider]
 
35
    when 'git'
 
36
      revision node[:juju][:revision]
 
37
      ssh_wrapper "/tmp/private_code/wrap-ssh.sh"
 
38
    when 'svn'
 
39
      revision node[:juju][:revision]
 
40
      scm_provider Chef::Provider::Subversion
 
41
      svn_username node[:juju][:svn_username]
 
42
      svn_password node[:juju][:svn_password]
 
43
    else
 
44
      raise ArgumentError
 
45
  end
 
46
 
 
47
  before_migrate do
 
48
    # workaround for symlink_before_migrate() http://tickets.opscode.com/browse/CHEF-4374
 
49
    directory "#{release_path}/config" do
 
50
      user 'deploy'
 
51
      group 'deploy'
 
52
      action :create
 
53
    end
 
54
 
 
55
    bundle release_path do
 
56
      user 'deploy'
 
57
      group 'deploy'
 
58
      action :install
 
59
    end
 
60
  end
 
61
 
 
62
  before_restart do
 
63
    rake_task 'assets:precompile' do
 
64
      cwd "#{node[:rack][:root]}/current"
 
65
      user 'deploy'
 
66
      group 'deploy'
 
67
      ignore_failure true
 
68
      action :run
 
69
    end
 
70
  end
 
71
end
 
72
 
 
73
rack_procfile 'reverse_merge entries in Procfile' do
 
74
  procfile "#{node[:rack][:root]}/current/Procfile"
 
75
  entries({web: 'bundle exec rackup config.ru -p $PORT'})
 
76
  user 'deploy'
 
77
  group 'deploy'
 
78
  mode '0644'
 
79
  action :reverse_merge
 
80
end
 
81
 
 
82
executables do
 
83
  action :export
 
84
end
 
 
b'\\ No newline at end of file'