about summary refs log tree commit diff stats
path: root/config
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2024-12-07 12:25:27 -0500
committerStar Rauchenberger <fefferburbia@gmail.com>2024-12-07 12:25:27 -0500
commita79470b5bc9ec950493abf4df928e02ecfab2ecb (patch)
treefbb7463c383e0cbded75e7bd917417c01b85ff23 /config
parentf4c784443ebcda165367c07153bd1ea615cd6885 (diff)
downloadpokeviewer-a79470b5bc9ec950493abf4df928e02ecfab2ecb.tar.gz
pokeviewer-a79470b5bc9ec950493abf4df928e02ecfab2ecb.tar.bz2
pokeviewer-a79470b5bc9ec950493abf4df928e02ecfab2ecb.zip
Set up Capistrano deployment
Diffstat (limited to 'config')
-rw-r--r--config/deploy.rb60
-rw-r--r--config/deploy/production.rb62
-rw-r--r--config/deploy/staging.rb61
3 files changed, 183 insertions, 0 deletions
diff --git a/config/deploy.rb b/config/deploy.rb new file mode 100644 index 0000000..27168a9 --- /dev/null +++ b/config/deploy.rb
@@ -0,0 +1,60 @@
1# config valid for current version and patch releases of Capistrano
2lock "~> 3.19.2"
3
4set :application, "pokeviewer"
5set :repo_url, "/srv/git/pokeviewer"
6
7# Default branch is :master
8# ask :branch, `git rev-parse --abbrev-ref HEAD`.chomp
9
10# Default deploy_to directory is /var/www/my_app_name
11set :deploy_to, "/srv/www/pokeviewer"
12
13# Default value for :format is :airbrussh.
14# set :format, :airbrussh
15
16# You can configure the Airbrussh format using :format_options.
17# These are the defaults.
18# set :format_options, command_output: true, log_file: "log/capistrano.log", color: :auto, truncate: :auto
19
20# Default value for :pty is false
21# set :pty, true
22
23# Default value for :linked_files is []
24append :linked_files, 'config/master.key', 'config/credentials/production.key'
25
26# Default value for linked_dirs is []
27append :linked_dirs, "log", "tmp/pids", "tmp/cache", "tmp/sockets" #, "public/system", "vendor", "storage"
28
29# Default value for default_env is {}
30# set :default_env, { path: "/opt/ruby/bin:$PATH" }
31set :default_env, { 'RAILS_RELATIVE_URL_ROOT' => '/poke3' }
32
33# Default value for local_user is ENV['USER']
34# set :local_user, -> { `git config user.name`.chomp }
35
36# Default value for keep_releases is 5
37# set :keep_releases, 5
38
39# Uncomment the following to require manually verifying the host key before first deploy.
40# set :ssh_options, verify_host_key: :secure
41
42# rvm
43set :rvm_type, :system
44set :rvm_custom_path, '/usr/local/rvm'
45
46# rails
47set :rails_env, 'production'
48set :conditionally_migrate, true
49set :migration_role, :app
50set :assets_roles, [:app]
51
52namespace :deploy do
53 after :updated, :compile do
54 on primary(:app) do
55 within release_path do
56 rake "compile"
57 end
58 end
59 end
60end
diff --git a/config/deploy/production.rb b/config/deploy/production.rb new file mode 100644 index 0000000..3313458 --- /dev/null +++ b/config/deploy/production.rb
@@ -0,0 +1,62 @@
1# server-based syntax
2# ======================
3# Defines a single server with a list of roles and multiple properties.
4# You can define all roles on a single server, or split them:
5
6# server "example.com", user: "deploy", roles: %w{app db web}, my_property: :my_value
7# server "example.com", user: "deploy", roles: %w{app web}, other_property: :other_value
8# server "db.example.com", user: "deploy", roles: %w{db}
9server "fourisland.com", user: "thoughts", roles: %w{app db web}
10
11
12
13# role-based syntax
14# ==================
15
16# Defines a role with one or multiple servers. The primary server in each
17# group is considered to be the first unless any hosts have the primary
18# property set. Specify the username and a domain or IP for the server.
19# Don't use `:all`, it's a meta role.
20
21# role :app, %w{deploy@example.com}, my_property: :my_value
22# role :web, %w{user1@primary.com user2@additional.com}, other_property: :other_value
23# role :db, %w{deploy@example.com}
24
25
26
27# Configuration
28# =============
29# You can set any configuration variable like in config/deploy.rb
30# These variables are then only loaded and set in this stage.
31# For available Capistrano configuration variables see the documentation page.
32# http://capistranorb.com/documentation/getting-started/configuration/
33# Feel free to add new variables to customise your setup.
34
35
36
37# Custom SSH Options
38# ==================
39# You may pass any option but keep in mind that net/ssh understands a
40# limited set of options, consult the Net::SSH documentation.
41# http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start
42#
43# Global options
44# --------------
45# set :ssh_options, {
46# keys: %w(/home/user_name/.ssh/id_rsa),
47# forward_agent: false,
48# auth_methods: %w(password)
49# }
50#
51# The server-based syntax can be used to override options:
52# ------------------------------------
53# server "example.com",
54# user: "user_name",
55# roles: %w{web app},
56# ssh_options: {
57# user: "user_name", # overrides user setting above
58# keys: %w(/home/user_name/.ssh/id_rsa),
59# forward_agent: false,
60# auth_methods: %w(publickey password)
61# # password: "please use keys"
62# }
diff --git a/config/deploy/staging.rb b/config/deploy/staging.rb new file mode 100644 index 0000000..0a3f086 --- /dev/null +++ b/config/deploy/staging.rb
@@ -0,0 +1,61 @@
1# server-based syntax
2# ======================
3# Defines a single server with a list of roles and multiple properties.
4# You can define all roles on a single server, or split them:
5
6# server "example.com", user: "deploy", roles: %w{app db web}, my_property: :my_value
7# server "example.com", user: "deploy", roles: %w{app web}, other_property: :other_value
8# server "db.example.com", user: "deploy", roles: %w{db}
9
10
11
12# role-based syntax
13# ==================
14
15# Defines a role with one or multiple servers. The primary server in each
16# group is considered to be the first unless any hosts have the primary
17# property set. Specify the username and a domain or IP for the server.
18# Don't use `:all`, it's a meta role.
19
20# role :app, %w{deploy@example.com}, my_property: :my_value
21# role :web, %w{user1@primary.com user2@additional.com}, other_property: :other_value
22# role :db, %w{deploy@example.com}
23
24
25
26# Configuration
27# =============
28# You can set any configuration variable like in config/deploy.rb
29# These variables are then only loaded and set in this stage.
30# For available Capistrano configuration variables see the documentation page.
31# http://capistranorb.com/documentation/getting-started/configuration/
32# Feel free to add new variables to customise your setup.
33
34
35
36# Custom SSH Options
37# ==================
38# You may pass any option but keep in mind that net/ssh understands a
39# limited set of options, consult the Net::SSH documentation.
40# http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start
41#
42# Global options
43# --------------
44# set :ssh_options, {
45# keys: %w(/home/user_name/.ssh/id_rsa),
46# forward_agent: false,
47# auth_methods: %w(password)
48# }
49#
50# The server-based syntax can be used to override options:
51# ------------------------------------
52# server "example.com",
53# user: "user_name",
54# roles: %w{web app},
55# ssh_options: {
56# user: "user_name", # overrides user setting above
57# keys: %w(/home/user_name/.ssh/id_rsa),
58# forward_agent: false,
59# auth_methods: %w(publickey password)
60# # password: "please use keys"
61# }