summaryrefslogtreecommitdiff
path: root/config/deploy.rb
blob: 925f0d6564445fd0cecf99de5f871599c2b963eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# config valid for current version and patch releases of Capistrano
lock "~> 3.16.0"

set :application, "esoterra"
set :repo_url, "https://#{ENV['GITHUB_OAUTH']}:@github.com/dtgay/esoterra.git"
set :user, "rails"

set :branch, "main"

set :deploy_to, "/home/#{fetch :user}/#{fetch :application}"

append :linked_dirs, "log", "tmp/pids", "tmp/cache", "tmp/sockets", "vendor/bundle", ".bundle",
       "public/system", "public/uploads", ".bundle"

append :linked_files, "config/database.yml", "config/master.key"

set :keep_assets, 2
set :keep_releases, 5

set :conditionally_migrate, true

set :rvm_custom_path, "/usr/share/rvm" # Needed for DO one-click Rails install setup

# upload master.key and database.yml
namespace :deploy do
  namespace :check do
    before :linked_files, :copy_linked_files_if_needed do
      on roles(:app), in: :sequence, wait: 10 do
        %w{master.key database.yml}.each do |config_filename|
          unless test("[ -f #{shared_path}/config/#{config_filename} ]")
            upload! "config/#{config_filename}", "#{shared_path}/config/#{config_filename}"
          end
        end
      end
    end
  end
end

# Default branch is :master
# ask :branch, `git rev-parse --abbrev-ref HEAD`.chomp

# Default value for :format is :airbrussh.
# set :format, :airbrussh

# You can configure the Airbrussh format using :format_options.
# These are the defaults.
# set :format_options, command_output: true, log_file: "log/capistrano.log", color: :auto, truncate: :auto

# Default value for :pty is false
# set :pty, true

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

# Default value for local_user is ENV['USER']
# set :local_user, -> { `git config user.name`.chomp }

# Uncomment the following to require manually verifying the host key before first deploy.
# set :ssh_options, verify_host_key: :secure