Skip to content

Commit 682ffc2

Browse files
committed
Configure deployment for Opscomplete
1 parent 011f480 commit 682ffc2

File tree

8 files changed

+33
-19
lines changed

8 files changed

+33
-19
lines changed

features/step_definitions/katapult_steps.rb

+16-4
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,25 @@
4545
After { ENV.delete 'SKIP_MIGRATIONS' }
4646

4747
Then 'Capistrano should be configured' do
48+
steps %(
49+
And the file "Gemfile" should contain "capistrano-rails"
50+
And the file "Gemfile" should contain "capistrano-bundler"
51+
And the file "Gemfile" should contain "capistrano-maintenance"
52+
And the file "Gemfile" should contain "capistrano-opscomplete"
53+
And the file "Gemfile" should contain "capistrano-passenger"
54+
)
55+
4856
step 'the file "Capfile" should contain:', <<-CONTENT
4957
# Load DSL and set up stages
5058
require 'capistrano/setup'
5159
5260
# Include default deployment tasks
5361
require 'capistrano/deploy'
5462
63+
# Configure Opscomplete deployment
64+
require 'capistrano/opscomplete'
65+
require 'capistrano/passenger'
66+
5567
# Use Git
5668
require 'capistrano/scm/git'
5769
install_plugin Capistrano::SCM::Git
@@ -71,6 +83,7 @@
7183
end
7284
7385
before 'deploy:updating', 'db:dump'
86+
after 'deploy:updating', 'opscomplete:ruby:ensure'
7487
after 'deploy:published', 'deploy:restart'
7588
after 'deploy:published', 'db:warn_if_pending_migrations'
7689
after 'deploy:published', 'db:show_dump_usage'
@@ -117,7 +130,7 @@
117130
set :rails_env, 'staging'
118131
set :branch, ENV['DEPLOY_BRANCH'] || 'master'
119132
120-
# server 'example.com', user: 'deploy-user', roles: %w(app web cron db)
133+
# server 'example.com', user: 'deploy-user', roles: %w[app web cron db]
121134
CONTENT
122135

123136
step 'the file "config/deploy/production.rb" should contain exactly:', <<-CONTENT
@@ -127,13 +140,12 @@
127140
set :rails_env, 'production'
128141
set :branch, 'production'
129142
130-
# server 'one.example.com', user: 'deploy-user', roles: %w(app web cron db)
131-
# server 'two.example.com', user: 'deploy-user', roles: %w(app web)
143+
# server 'one.example.com', user: 'deploy-user', roles: %w[app web cron db]
144+
# server 'two.example.com', user: 'deploy-user', roles: %w[app web]
132145
CONTENT
133146

134147
step 'the file "lib/capistrano/tasks/db.rake" should contain ":warn_if_pending_migrations"'
135148
step 'the file "lib/capistrano/tasks/deploy.rake" should contain "Show deployed revision"'
136-
step 'the file "lib/capistrano/tasks/passenger.rake" should contain "Restart Application"'
137149

138150
end
139151

lib/generators/katapult/basics/templates/Capfile

+5
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ require 'capistrano/setup'
44
# Include default deployment tasks
55
require 'capistrano/deploy'
66

7+
# Configure Opscomplete deployment
8+
require 'capistrano/opscomplete'
9+
require 'capistrano/passenger'
10+
711
# Use Git
812
require 'capistrano/scm/git'
913
install_plugin Capistrano::SCM::Git
@@ -23,6 +27,7 @@ Dir.glob('lib/capistrano/tasks/*.rake').sort.each do |r|
2327
end
2428

2529
before 'deploy:updating', 'db:dump'
30+
after 'deploy:updating', 'opscomplete:ruby:ensure'
2631
after 'deploy:published', 'deploy:restart'
2732
after 'deploy:published', 'db:warn_if_pending_migrations'
2833
after 'deploy:published', 'db:show_dump_usage'

lib/generators/katapult/basics/templates/Gemfile

+2
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,6 @@ group :deploy do
7171
gem 'capistrano-rails', require: false
7272
gem 'capistrano-bundler', require: false
7373
gem 'capistrano-maintenance'
74+
gem 'capistrano-opscomplete'
75+
gem 'capistrano-passenger'
7476
end

lib/generators/katapult/basics/templates/Gemfile.lock

+6
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ GEM
6666
sshkit (~> 1.2)
6767
capistrano-maintenance (1.2.0)
6868
capistrano (>= 3.0)
69+
capistrano-opscomplete (0.2.0)
70+
capistrano (>= 3.0, < 4.0.0)
71+
capistrano-passenger (0.2.0)
72+
capistrano (~> 3.0)
6973
capistrano-rails (1.3.1)
7074
capistrano (~> 3.1)
7175
capistrano-bundler (~> 1.1)
@@ -332,6 +336,8 @@ DEPENDENCIES
332336
byebug
333337
capistrano-bundler
334338
capistrano-maintenance
339+
capistrano-opscomplete
340+
capistrano-passenger
335341
capistrano-rails
336342
capybara
337343
capybara-screenshot

lib/generators/katapult/basics/templates/config/deploy/production.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
set :rails_env, 'production'
55
set :branch, 'production'
66

7-
# server 'one.example.com', user: 'deploy-user', roles: %w(app web cron db)
8-
# server 'two.example.com', user: 'deploy-user', roles: %w(app web)
7+
# server 'one.example.com', user: 'deploy-user', roles: %w[app web cron db]
8+
# server 'two.example.com', user: 'deploy-user', roles: %w[app web]

lib/generators/katapult/basics/templates/config/deploy/staging.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
set :rails_env, 'staging'
55
set :branch, ENV['DEPLOY_BRANCH'] || 'master'
66

7-
# server 'example.com', user: 'deploy-user', roles: %w(app web cron db)
7+
# server 'example.com', user: 'deploy-user', roles: %w[app web cron db]
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
namespace :deploy do
2-
desc 'Restart application'
3-
task :restart do
4-
invoke 'passenger:restart'
5-
end
62

73
desc 'Show deployed revision'
84
task :revision do
@@ -12,4 +8,5 @@ namespace :deploy do
128
end
139
end
1410
end
11+
1512
end

lib/generators/katapult/basics/templates/lib/capistrano/tasks/passenger.rake

-8
This file was deleted.

0 commit comments

Comments
 (0)