summaryrefslogblamecommitdiffstats
path: root/config/deploy.rb
blob: 292341e67ff7d3d186077dab88f75769fe093ad7 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                     
            
 
                                
                                                                          
                                                        
                                                              

                                     


                                                                                     







                                                   













                                                                    



                                                                                 

       










                                                      
# config valid only for current version of Capistrano
lock '3.6.0'

set :application, 'registration'
set :repo_url, 'https://github.com/snake66/norsk-urskog-registrations.git'
set :deploy_to, '/usr/home/norskurskog/www/registration'
set :linked_files, fetch(:linked_files, []).push('config.yml')

# Default value for linked_dirs is []
set :linked_dirs, fetch(:linked_dirs, []).push('public/uploads', 'bin', 'log', 'tmp')

set :bundle_binstubs, -> { shared_path.join('bin') }

# Default value for default_env is {}
# set :default_env, { path: "/opt/ruby/bin:$PATH" }

# Default value for keep_releases is 5
# set :keep_releases, 5

namespace :deploy do
  file 'config.yml' do |f|
    template = "---\n"
             + "contact_email: contact@example.com\n"
             + "smtp:\n"
             + "  address: localhost\n"
             + "  port: 25\n"
             + "accept_registrations:\n"
             + "  start: YYYY.MM.DD\n"
             + "  stop: YYYY.MM.DD\n"
    IO.write(t.name, template)
  end

  before 'check:linked_files', :upload_config => 'config.yml' do |t|
    on roles(:app) do
      target_file = File.join(fetch(:deploy_to), 'shared', t.prerequisites.first)
      unless test("[ -f #{target_file} ]")
        upload!(t.prerequisites.first, target_file)
      end
    end
  end

  after :restart, :clear_cache do
    on roles(:web), in: :groups, limit: 3, wait: 10 do
      # Here we can do anything such as:
      # within release_path do
      #   execute :rake, 'cache:clear'
      # end
    end
  end

end