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