master
 1# config valid only for Capistrano 3.1
 2lock '3.3.5'
 3
 4set :application, 'cakeside'
 5set :repo_url, 'git@gitlab.com:cakeside/cakeside.git'
 6set :branch, 'master'
 7set :user, "deployer"
 8
 9# Default branch is :master
10# ask :branch, proc { `git rev-parse --abbrev-ref HEAD`.chomp }.call
11
12# Default deploy_to directory is /var/www/my_app
13# set :deploy_to, '/var/www/my_app'
14set :deploy_to, "/home/#{fetch(:user)}/apps/#{fetch(:application)}"
15
16# Default value for :scm is :git
17set :scm, :git
18set :scm_verbose, true
19
20# Default value for :format is :pretty
21# set :format, :pretty
22
23# Default value for :log_level is :debug
24# set :log_level, :debug
25
26# Default value for :pty is false
27# set :pty, true
28
29# Default value for :linked_files is []
30set :linked_files, %w{config/database.yml .env config/unicorn.rb}
31
32# Default value for linked_dirs is []
33set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}
34
35# Default value for default_env is {}
36# set :default_env, { path: "/opt/ruby/bin:$PATH" }
37
38# Default value for keep_releases is 5
39set :keep_releases, 3
40#set :normalize_asset_timestamps, false
41set :ssh_options, { forward_agent: true }
42
43set :rbenv_type, :user # or :system, depends on your rbenv setup
44set :rbenv_ruby, '2.4.2'
45
46namespace :deploy do
47  desc 'Restart application'
48  task :restart do
49    on roles(:app), in: :sequence, wait: 5 do
50      # Your restart mechanism here, for example:
51      # execute :touch, release_path.join('tmp/restart.txt')
52       invoke 'delayed_job:restart'
53    end
54    on roles(:web), in: :sequence, wait: 5 do
55       invoke 'unicorn:restart'
56    end
57  end
58
59  desc 'Sync assets'
60  task :sync_assets do
61    on roles(:web) do
62       within release_path do
63         with rails_env: fetch(:rails_env) do
64           execute :rake, 'assets:sync'
65         end
66       end
67    end
68  end
69
70  after :publishing, :sync_assets
71  after :publishing, :restart
72
73  after :restart, :clear_cache do
74    on roles(:web), in: :groups, limit: 3, wait: 10 do
75      # Here we can do anything such as:
76      # within release_path do
77      #   execute :rake, 'cache:clear'
78      # end
79    end
80  end
81end