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
|
# File 'lib/generators/teleport/capistrano.rb', line 5
def add
gem_group :development do
gem 'capistrano'
gem 'capistrano-rbenv'
gem 'capistrano-bundler'
gem 'capistrano-rails'
gem 'capistrano-sidekiq'
gem 'capistrano3-puma'
end
Bundler.with_clean_env do
run "bundle install"
end
directory 'capistrano/tasks', 'lib/capistrano/tasks'
directory 'capistrano/shared', 'config/deploy/shared'
run 'cap install'
'Capfile', /require 'capistrano\/rbenv'/
'Capfile', /require 'capistrano\/bundler'/
'Capfile', /require 'capistrano\/rails\/assets'/
'Capfile', /require 'capistrano\/rails\/migrations'/
insert_into_file "Capfile",
"require 'capistrano/sidekiq'\n",
after: "require 'capistrano/rails/migrations'\n"
insert_into_file "Capfile",
%Q{
require 'capistrano/puma'
require 'capistrano/puma/workers'
require 'capistrano/puma/jungle'
require 'capistrano/puma/monit'
require 'capistrano/puma/nginx'
},
after: "require 'capistrano/sidekiq'\n"
@app_name = ask 'App name', :bold, default: 'blog'
@git_repo_url = ask 'Git repo', :bold, default: '[email protected]:itsNikolay/puma-testing.git'
@deploy_user = ask 'Deploy username default', :bold, default: 'deploy'
@ruby_version = ask 'Ruby version', :bold, limited_to: ['2.1.5', '2.1.4', '2.1.3', '2.1.2', '1.9.3']
@production_server_address = ask 'Production server', :bold, default: '192.X.X.X'
template 'capistrano/deploy/deploy.rb', 'config/deploy.rb'
template 'capistrano/deploy/production.rb', 'config/deploy/production.rb'
if yes?('Add staging? (y/n)')
@staging_server_address = ask 'Staging server', :bold, default: '192.X.X.X'
template 'capistrano/deploy/staging.rb', 'config/deploy/staging.rb'
end
say 'to setup server run: $ cap staging deploy:setup_config', :bold
end
|