teleporter 2.0.2 → 2.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/generators/teleport/capistrano.rb +1 -1
- data/lib/generators/teleport/templates/capistrano/deploy/deploy.rb.tt +1 -89
- data/lib/generators/teleport/templates/capistrano/deploy/production.rb.tt +10 -9
- data/lib/generators/teleport/templates/capistrano/deploy/staging.rb.tt +10 -9
- data/lib/generators/teleport/templates/capistrano/shared/puma.rb.erb +18 -0
- data/lib/generators/teleport/templates/capistrano/tasks/prepare_nginx.rake +3 -0
- data/lib/generators/teleport/templates/capistrano/tasks/{run_rake_task.rake → rake.rake} +1 -1
- data/lib/generators/teleport/templates/capistrano/tasks/setup_config.rake +26 -12
- data/lib/generators/teleport/templates/capistrano/tasks/setup_db.rake +2 -2
- data/lib/teleporter/version.rb +1 -1
- metadata +4 -5
- data/lib/generators/teleport/templates/capistrano/shared/application.yml.erb +0 -2
- data/lib/generators/teleport/templates/capistrano/shared/secrets.yml.erb +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6b2a6a6634c7504aef79b5cfdc9e7cfee317f4e
|
4
|
+
data.tar.gz: 17bb181ba69dea0f059f129e2dd9b59c84c0e2f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aef3737dcab25ce8bd63cde3a2a35a352a6292f833d2a90f698b6627eab7911a8e81d18ec49723cbb0224b5ea5460457e83b02f2ce205ae4a8e6fb695eedfdd1
|
7
|
+
data.tar.gz: 739dd01b4a55e0ec86d2cef49c5a15fec2bf39ac0929a35cd2b3e7e40e4151d6c89a588946cf77afc117a3ec32b450f68c423029cc7169938afbeb2e0e729327
|
@@ -38,7 +38,7 @@ module Teleport
|
|
38
38
|
@app_name = ask 'App name', :bold, default: 'blog'
|
39
39
|
@git_repo_url = ask 'Git repo', :bold, default: 'git@github.com:itsNikolay/puma-testing.git'
|
40
40
|
@deploy_user = ask 'Deploy username default', :bold, default: 'deploy'
|
41
|
-
@ruby_version = ask 'Ruby version', :bold, limited_to: ['2.1.3', '2.1.2', '1.9.3']
|
41
|
+
@ruby_version = ask 'Ruby version', :bold, limited_to: ['2.1.4', '2.1.3', '2.1.2', '1.9.3']
|
42
42
|
@production_server_address = ask 'Production server', :bold, default: '192.X.X.X'
|
43
43
|
|
44
44
|
template 'capistrano/deploy/deploy.rb', 'config/deploy.rb'
|
@@ -1,8 +1,6 @@
|
|
1
1
|
lock '3.2.1'
|
2
2
|
|
3
|
-
set :application, '<%= @app_name %>'
|
4
3
|
set :repo_url, '<%= @git_repo_url %>'
|
5
|
-
set :deploy_user, '<%= @deploy_user %>'
|
6
4
|
|
7
5
|
set :puma_init_active_record, true
|
8
6
|
|
@@ -10,91 +8,5 @@ set :rbenv_type, :system
|
|
10
8
|
set :rbenv_ruby, '<%= @ruby_version %>'
|
11
9
|
set :rbenv_prefix, "RBENV_ROOT=#{fetch(:rbenv_path)} RBENV_VERSION=#{fetch(:rbenv_ruby)} #{fetch(:rbenv_path)}/bin/rbenv exec"
|
12
10
|
set :rbenv_map_bins, %w{rake gem bundle ruby rails}
|
13
|
-
set :linked_files, %w{config/database.yml
|
11
|
+
set :linked_files, %w{config/database.yml}
|
14
12
|
set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system public/uploads}
|
15
|
-
set(:config_files, %w(
|
16
|
-
nginx.conf
|
17
|
-
application.yml
|
18
|
-
database.example.yml
|
19
|
-
log_rotation
|
20
|
-
monit
|
21
|
-
monit_sidekiq
|
22
|
-
puma.conf
|
23
|
-
puma
|
24
|
-
run-puma
|
25
|
-
sidekiq_init.sh
|
26
|
-
secrets.yml
|
27
|
-
))
|
28
|
-
set(:executable_config_files, %w(
|
29
|
-
puma
|
30
|
-
run-puma
|
31
|
-
sidekiq_init.sh
|
32
|
-
))
|
33
|
-
set(:symlinks, [
|
34
|
-
{
|
35
|
-
source: "nginx.conf",
|
36
|
-
link: "/etc/nginx/sites-enabled/{{full_app_name}}"
|
37
|
-
},
|
38
|
-
{
|
39
|
-
source: "puma",
|
40
|
-
link: "/etc/init.d/puma"
|
41
|
-
},
|
42
|
-
{
|
43
|
-
source: "run-puma",
|
44
|
-
link: "/usr/local/bin/run-puma"
|
45
|
-
},
|
46
|
-
{
|
47
|
-
source: "puma.conf",
|
48
|
-
link: "/etc/puma.conf"
|
49
|
-
},
|
50
|
-
{
|
51
|
-
source: "log_rotation",
|
52
|
-
link: "/etc/logrotate.d/{{full_app_name}}"
|
53
|
-
},
|
54
|
-
{
|
55
|
-
source: "monit",
|
56
|
-
link: "/etc/monit/conf.d/{{full_app_name}}.conf"
|
57
|
-
},
|
58
|
-
{
|
59
|
-
source: "monit_sidekiq",
|
60
|
-
link: "/etc/monit/conf.d/sidekiq_{{full_app_name}}.conf"
|
61
|
-
},
|
62
|
-
{
|
63
|
-
source: "sidekiq_init.sh",
|
64
|
-
link: "/etc/init.d/sidekiq_{{full_app_name}}"
|
65
|
-
},
|
66
|
-
])
|
67
|
-
namespace :deploy do
|
68
|
-
desc 'Normalize asset timestamps'
|
69
|
-
task migr: fetch(:stage) do
|
70
|
-
on roles(:app) do
|
71
|
-
within release_path do
|
72
|
-
execute :rake, "migrate:users", "RAILS_ENV=#{fetch(:stage)}"
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
namespace :deploy do
|
79
|
-
task clear_cache: fetch(:stage) do
|
80
|
-
on roles(:app) do
|
81
|
-
within release_path do
|
82
|
-
execute :rake, 'tmp:cache:clear'
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
|
-
namespace :deploy do
|
89
|
-
# make sure we're deploying what we think we're deploying
|
90
|
-
before :deploy, "deploy:check_revision"
|
91
|
-
# only allow a deploy with passing tests to deployed
|
92
|
-
# compile assets locally then rsync
|
93
|
-
#after 'deploy:symlink:shared', 'deploy:compile_assets_locally'
|
94
|
-
after :finishing, 'deploy:cleanup'
|
95
|
-
after :finishing, 'deploy:restart'
|
96
|
-
after :finishing, 'deploy:clear_cache'
|
97
|
-
#after :finishing, 'sidekiq:restart'
|
98
|
-
#after :finishing, 'deploy:migr'
|
99
|
-
end
|
100
|
-
|
@@ -1,13 +1,14 @@
|
|
1
1
|
set :stage, :production
|
2
|
-
|
3
|
-
set :branch, "master"
|
4
|
-
|
5
|
-
set :full_app_name, "#{fetch(:application)}_#{fetch(:stage)}"
|
6
|
-
|
7
|
-
server '<%= @production_server_address %>', user: '<%= @deploy_user %>', roles: %w{web app db}, primary: true
|
8
|
-
|
9
|
-
set :deploy_to, "/home/#{fetch(:deploy_user)}/apps/#{fetch(:full_app_name)}"
|
10
|
-
|
11
2
|
set :rails_env, :production
|
3
|
+
set :application, "<%= @app_name %>_#{fetch(:stage)}"
|
4
|
+
set :branch, "master"
|
5
|
+
set :deploy_user, '<%= @deploy_user %>'
|
6
|
+
set :deploy_to, "/home/#{fetch(:deploy_user)}/apps/#{fetch(:application)}"
|
7
|
+
set :ip, '<%= @production_server_address %>'
|
8
|
+
|
9
|
+
role :web, ["#{fetch(:deploy_user)}@#{fetch(:ip)}"]
|
10
|
+
role :app, ["#{fetch(:deploy_user)}@#{fetch(:ip)}"]
|
11
|
+
role :db, ["#{fetch(:deploy_user)}@#{fetch(:ip)}"]
|
12
|
+
role :puma_nginx, ["#{fetch(:deploy_user)}@#{fetch(:ip)}"]
|
12
13
|
|
13
14
|
set :enable_ssl, false
|
@@ -1,13 +1,14 @@
|
|
1
1
|
set :stage, :staging
|
2
|
-
|
3
|
-
set :branch, "master"
|
4
|
-
|
5
|
-
set :full_app_name, "#{fetch(:application)}_#{fetch(:stage)}"
|
6
|
-
|
7
|
-
server '<%= @staging_server_address %>', user: '<%= @deploy_user %>', roles: %w{web app db}, primary: true
|
8
|
-
|
9
|
-
set :deploy_to, "/home/#{fetch(:deploy_user)}/apps/#{fetch(:full_app_name)}"
|
10
|
-
|
11
2
|
set :rails_env, :staging
|
3
|
+
set :application, "<%= @app_name %>_#{fetch(:stage)}"
|
4
|
+
set :branch, "master"
|
5
|
+
set :deploy_user, '<%= @deploy_user %>'
|
6
|
+
set :deploy_to, "/home/#{fetch(:deploy_user)}/apps/#{fetch(:application)}"
|
7
|
+
set :ip, '<%= @staging_server_address %>'
|
8
|
+
|
9
|
+
role :web, ["#{fetch(:deploy_user)}@#{fetch(:ip)}"]
|
10
|
+
role :app, ["#{fetch(:deploy_user)}@#{fetch(:ip)}"]
|
11
|
+
role :db, ["#{fetch(:deploy_user)}@#{fetch(:ip)}"]
|
12
|
+
role :puma_nginx, ["#{fetch(:deploy_user)}@#{fetch(:ip)}"]
|
12
13
|
|
13
14
|
set :enable_ssl, false
|
@@ -0,0 +1,18 @@
|
|
1
|
+
workers Integer(ENV['PUMA_WORKERS'] || 3)
|
2
|
+
threads Integer(ENV['MIN_THREADS'] || 1), Integer(ENV['MAX_THREADS'] || 16)
|
3
|
+
|
4
|
+
preload_app!
|
5
|
+
|
6
|
+
rackup DefaultRackup
|
7
|
+
port ENV['PORT'] || 3000
|
8
|
+
environment ENV['RACK_ENV'] || 'development'
|
9
|
+
|
10
|
+
on_worker_boot do
|
11
|
+
# worker specific setup
|
12
|
+
ActiveSupport.on_load(:active_record) do
|
13
|
+
config = ActiveRecord::Base.configurations[Rails.env] ||
|
14
|
+
Rails.application.config.database_configuration[Rails.env]
|
15
|
+
config['pool'] = ENV['MAX_THREADS'] || 16
|
16
|
+
ActiveRecord::Base.establish_connection(config)
|
17
|
+
end
|
18
|
+
end
|
@@ -1,28 +1,42 @@
|
|
1
1
|
namespace :deploy do
|
2
2
|
task :setup_config do
|
3
3
|
on roles(:app) do
|
4
|
-
|
4
|
+
set(:config_files, [
|
5
|
+
"log_rotation",
|
6
|
+
"monit_sidekiq",
|
7
|
+
"sidekiq_init.sh"
|
8
|
+
])
|
9
|
+
set(:executable_config_files, [
|
10
|
+
"sidekiq_init.sh",
|
11
|
+
])
|
12
|
+
set(:symlinks, [
|
13
|
+
{
|
14
|
+
source: "log_rotation",
|
15
|
+
link: "/etc/logrotate.d/{{application}}"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
source: "monit_sidekiq",
|
19
|
+
link: "/etc/monit/conf.d/sidekiq_{{application}}.conf"
|
20
|
+
},
|
21
|
+
{
|
22
|
+
source: "sidekiq_init.sh",
|
23
|
+
link: "/etc/init.d/sidekiq_{{application}}"
|
24
|
+
},
|
25
|
+
])
|
5
26
|
execute :mkdir, "-p #{shared_path}/config"
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
# definition of smart_template for details of operation.
|
10
|
-
# Essentially looks for #{filename}.erb in deploy/#{full_app_name}/
|
11
|
-
# and if it isn't there, falls back to deploy/#{shared}. Generally
|
12
|
-
# everything should be in deploy/shared with params which differ
|
13
|
-
# set in the stage files
|
27
|
+
execute :mkdir, "-p #{current_path}"
|
28
|
+
application = fetch(:application)
|
29
|
+
|
14
30
|
config_files = fetch(:config_files)
|
15
31
|
config_files.each do |file|
|
16
32
|
smart_template file
|
17
33
|
end
|
18
34
|
|
19
|
-
# which of the above files should be marked as executable
|
20
35
|
executable_files = fetch(:executable_config_files)
|
21
36
|
executable_files.each do |file|
|
22
37
|
execute :chmod, "+x #{shared_path}/config/#{file}"
|
23
38
|
end
|
24
39
|
|
25
|
-
# symlink stuff which should be... symlinked
|
26
40
|
symlinks = fetch(:symlinks)
|
27
41
|
|
28
42
|
symlinks.each do |symlink|
|
@@ -46,7 +60,7 @@ def smart_template(from, to=nil)
|
|
46
60
|
end
|
47
61
|
|
48
62
|
def template_file(name)
|
49
|
-
if File.exist?((file = "config/deploy/#{fetch(:
|
63
|
+
if File.exist?((file = "config/deploy/#{fetch(:application)}/#{name}.erb"))
|
50
64
|
return file
|
51
65
|
elsif File.exist?((file = "config/deploy/shared/#{name}.erb"))
|
52
66
|
return file
|
@@ -21,7 +21,7 @@ namespace :deploy do
|
|
21
21
|
timeout: 5000
|
22
22
|
encoding: utf8
|
23
23
|
reconnect: false
|
24
|
-
database: #{fetch(:application)}
|
24
|
+
database: #{fetch(:application)}
|
25
25
|
pool: 5
|
26
26
|
username: #{fetch(:deploy_user)}
|
27
27
|
password: #{fetch(:db_password)}
|
@@ -44,7 +44,7 @@ namespace :deploy do
|
|
44
44
|
rescue Exception
|
45
45
|
end
|
46
46
|
begin
|
47
|
-
execute %Q{echo "CREATE DATABASE #{fetch(:application)}
|
47
|
+
execute %Q{echo "CREATE DATABASE #{fetch(:application)} WITH OWNER #{fetch(:deploy_user)} ENCODING 'UTF8';" | sudo -u postgres psql}
|
48
48
|
rescue Exception
|
49
49
|
end
|
50
50
|
end
|
data/lib/teleporter/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: teleporter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ponomarev Nikolay
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -104,7 +104,6 @@ files:
|
|
104
104
|
- lib/generators/teleport/templates/capistrano/deploy/deploy.rb.tt
|
105
105
|
- lib/generators/teleport/templates/capistrano/deploy/production.rb.tt
|
106
106
|
- lib/generators/teleport/templates/capistrano/deploy/staging.rb.tt
|
107
|
-
- lib/generators/teleport/templates/capistrano/shared/application.yml.erb
|
108
107
|
- lib/generators/teleport/templates/capistrano/shared/database.example.yml.erb
|
109
108
|
- lib/generators/teleport/templates/capistrano/shared/log_rotation.erb
|
110
109
|
- lib/generators/teleport/templates/capistrano/shared/monit.erb
|
@@ -112,8 +111,8 @@ files:
|
|
112
111
|
- lib/generators/teleport/templates/capistrano/shared/nginx.conf.erb
|
113
112
|
- lib/generators/teleport/templates/capistrano/shared/puma.conf.erb
|
114
113
|
- lib/generators/teleport/templates/capistrano/shared/puma.erb
|
114
|
+
- lib/generators/teleport/templates/capistrano/shared/puma.rb.erb
|
115
115
|
- lib/generators/teleport/templates/capistrano/shared/run-puma.erb
|
116
|
-
- lib/generators/teleport/templates/capistrano/shared/secrets.yml.erb
|
117
116
|
- lib/generators/teleport/templates/capistrano/shared/sidekiq.yml.erb
|
118
117
|
- lib/generators/teleport/templates/capistrano/shared/sidekiq_init.sh.erb
|
119
118
|
- lib/generators/teleport/templates/capistrano/shared/unicorn.rb.erb
|
@@ -122,7 +121,7 @@ files:
|
|
122
121
|
- lib/generators/teleport/templates/capistrano/tasks/compile_assets_locally.rake
|
123
122
|
- lib/generators/teleport/templates/capistrano/tasks/logs.rake
|
124
123
|
- lib/generators/teleport/templates/capistrano/tasks/prepare_nginx.rake
|
125
|
-
- lib/generators/teleport/templates/capistrano/tasks/
|
124
|
+
- lib/generators/teleport/templates/capistrano/tasks/rake.rake
|
126
125
|
- lib/generators/teleport/templates/capistrano/tasks/setup_config.rake
|
127
126
|
- lib/generators/teleport/templates/capistrano/tasks/setup_db.rake
|
128
127
|
- lib/generators/teleport/templates/database/database.yml
|