capistrano-exfel 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +5 -1
- data/Gemfile +1 -1
- data/README.md +6 -6
- data/capistrano-exfel.gemspec +14 -14
- data/lib/capistrano/exfel/version.rb +1 -1
- data/lib/capistrano/tasks/apache.rake +12 -10
- data/lib/capistrano/tasks/app_home.rake +8 -8
- data/lib/capistrano/tasks/database.rake +2 -2
- data/lib/capistrano/tasks/secrets.rake +2 -2
- data/lib/capistrano/tasks/util.rake +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3f39bbd681a6dfe262623018dbc25c2f21b1067bd0941ab5fa15968d307818b4
|
4
|
+
data.tar.gz: 6f4b167cd5fb9d9f19fad48c932280607c2a1703aabce99fae2c2a78197b061e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df06350ebf4be066955c1c913a40b06ccee33d170d4b5bbae5b4e3c61da5647573e022c5f5f123e9cafc2ec0309d0dae737f0603e1779761c8c754bb6fda7291
|
7
|
+
data.tar.gz: 424dfaf2e183e4c7b8ddb0df286c8fc8dc0724a759034b1096b2ae2bd91bb97322b188cf6da41dc6f503a52209a56004e9c1c56e16e26a60e77e009e05337437
|
data/.rubocop.yml
CHANGED
@@ -22,8 +22,12 @@ Style/Lambda:
|
|
22
22
|
#
|
23
23
|
# Block has too many lines.
|
24
24
|
Metrics/BlockLength:
|
25
|
-
Max:
|
25
|
+
Max: 200 # Default 25
|
26
26
|
|
27
27
|
# Use meaningful heredoc delimiters.
|
28
28
|
Naming/HeredocDelimiterNaming:
|
29
29
|
Enabled: false
|
30
|
+
|
31
|
+
# This gem doesn't need to be dependent on a specific Ruby version
|
32
|
+
RequiredRubyVersion:
|
33
|
+
Enabled: false
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
# Capistrano::Exfel
|
2
2
|
|
3
3
|
Deploys Ruby on Rails Applications in EXFEL VMs using Capistrano3 throw username/password authentication.
|
4
|
-
The standard EXFEL VMs consist of
|
5
|
-
Installation of Phusion Passenger and RVM are also required
|
4
|
+
The standard EXFEL VMs consist of CentOS 7, Alma Linux 8/9 or Ubuntu 20/22 with Apache.
|
5
|
+
Installation of Phusion Passenger and RVM are also required for this gem.
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
9
9
|
Add these lines to your application's Gemfile:
|
10
10
|
|
11
11
|
# Use Capistrano for deployment
|
12
|
-
gem 'capistrano', '3.
|
13
|
-
gem 'capistrano-exfel', '0.
|
14
|
-
gem 'capistrano-rails', '1.
|
12
|
+
gem 'capistrano', '3.17.3', require: false
|
13
|
+
gem 'capistrano-exfel', '0.4.0', require: false
|
14
|
+
gem 'capistrano-rails', '1.6.2', require: false
|
15
15
|
gem 'capistrano-rvm', '0.1.2', require: false
|
16
16
|
|
17
17
|
|
@@ -117,7 +117,7 @@ set :repo_url, 'exfl_git_server:/my_app_repo_path' # 'git@example.com:me/my_repo
|
|
117
117
|
|
118
118
|
# RVM related information
|
119
119
|
# set :rvm_type, :system
|
120
|
-
set :rvm_ruby_version, '
|
120
|
+
set :rvm_ruby_version, '3.1.3' # If not specified will ask for it
|
121
121
|
# set :rvm_roles, [:app, :web]
|
122
122
|
```
|
123
123
|
|
data/capistrano-exfel.gemspec
CHANGED
@@ -5,21 +5,21 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
5
|
require 'capistrano/exfel/version'
|
6
6
|
|
7
7
|
Gem::Specification.new do |spec|
|
8
|
-
spec.name
|
9
|
-
spec.version
|
10
|
-
spec.authors
|
11
|
-
spec.email
|
12
|
-
spec.summary
|
13
|
-
spec.description
|
14
|
-
|
15
|
-
|
16
|
-
spec.homepage
|
17
|
-
spec.license
|
8
|
+
spec.name = 'capistrano-exfel'
|
9
|
+
spec.version = Capistrano::Exfel::VERSION
|
10
|
+
spec.authors = ['Luis Maia', 'Maurizio Manetti']
|
11
|
+
spec.email = %w[luisgoncalo.maia@gmail.com maurizio.manetti@xfel.eu]
|
12
|
+
spec.summary = 'Deploy Ruby on Rails 4, 5, 6 and 7 Applications in EXFEL Virtual Machines'
|
13
|
+
spec.description = 'Deployment of Ruby on Rails Applications in EXFEL Virtual Machines ' \
|
14
|
+
'(CentOS 7 + Apache + RVM + Phusion Passenger) ' \
|
15
|
+
'using Capistrano3 and LDAP'
|
16
|
+
spec.homepage = 'https://github.com/luismaia/capistrano-exfel'
|
17
|
+
spec.license = 'MIT'
|
18
18
|
|
19
|
-
spec.files
|
20
|
-
spec.executables
|
21
|
-
spec.test_files
|
22
|
-
spec.require_paths
|
19
|
+
spec.files = `git ls-files -z`.split("\x0")
|
20
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
21
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
22
|
+
spec.require_paths = ['lib']
|
23
23
|
|
24
24
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
25
25
|
spec.add_development_dependency 'rake', '~> 13.0'
|
@@ -17,7 +17,7 @@ namespace :apache do
|
|
17
17
|
on roles(:web) do
|
18
18
|
info 'In task apache:chkconfig_on'
|
19
19
|
|
20
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
20
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
21
21
|
|
22
22
|
debug '#' * 50
|
23
23
|
|
@@ -32,7 +32,7 @@ namespace :apache do
|
|
32
32
|
desc 'Restart Apache (httpd) service'
|
33
33
|
task :restart do
|
34
34
|
on roles(:web) do
|
35
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
35
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
36
36
|
|
37
37
|
debug '#' * 50
|
38
38
|
|
@@ -62,7 +62,7 @@ namespace :apache do
|
|
62
62
|
desc 'Create Apache multi-site configuration folder'
|
63
63
|
task :create_apache_sites_folder do
|
64
64
|
on roles(:app) do
|
65
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
65
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
66
66
|
|
67
67
|
debug '#' * 50
|
68
68
|
debug 'Create Apache multi-site configuration folder'
|
@@ -78,7 +78,7 @@ namespace :apache do
|
|
78
78
|
desc 'Configure Apache modules'
|
79
79
|
task :configure_apache_modules do
|
80
80
|
on roles(:app) do
|
81
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
81
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
82
82
|
|
83
83
|
debug '#' * 50
|
84
84
|
debug 'Configure (HTTP) Apache Passenger module'
|
@@ -91,7 +91,8 @@ namespace :apache do
|
|
91
91
|
|
92
92
|
upload! StringIO.new(File.read(passenger_file)), fetch(:tmp_passenger_file).to_s
|
93
93
|
|
94
|
-
|
94
|
+
rvm_passenger_root_cmd = "/usr/local/rvm/bin/rvm #{fetch(:rvm_ruby_version)} do passenger-config --root"
|
95
|
+
passenger_root = get_command_output(rvm_passenger_root_cmd)
|
95
96
|
ruby_path = "/#{passenger_root.split('/')[1..5].join('/')}/wrappers/ruby"
|
96
97
|
|
97
98
|
debug "sed -i 's|<<PASSENGER_ROOT>>|#{passenger_root}|g' #{fetch(:tmp_passenger_file)}"
|
@@ -120,7 +121,7 @@ namespace :apache do
|
|
120
121
|
desc 'Configure (HTTPS) Apache Application configuration files'
|
121
122
|
task :configure_app_ssl_conf_file do
|
122
123
|
on roles(:app), in: :sequence do
|
123
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
124
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
124
125
|
|
125
126
|
debug '#' * 50
|
126
127
|
debug 'Configure (HTTPS) Apache Application configuration files'
|
@@ -132,7 +133,8 @@ namespace :apache do
|
|
132
133
|
debug "chmod g+w #{fetch(:shared_apache_conf_ssl_file)}"
|
133
134
|
execute "chmod g+w #{fetch(:shared_apache_conf_ssl_file)}"
|
134
135
|
|
135
|
-
|
136
|
+
rvm_passenger_root_cmd = "/usr/local/rvm/bin/rvm #{fetch(:rvm_ruby_version)} do passenger-config --root"
|
137
|
+
passenger_root = get_command_output(rvm_passenger_root_cmd)
|
136
138
|
ruby_path = "/#{passenger_root.split('/')[1..5].join('/')}/wrappers/ruby"
|
137
139
|
|
138
140
|
execute "sed -i 's/<<APPLICATION_NAME>>/#{fetch(:app_name_uri)}/g' #{fetch(:shared_apache_conf_ssl_file)}"
|
@@ -149,7 +151,7 @@ namespace :apache do
|
|
149
151
|
desc 'Replace CentOS 7 default httpd.conf and ssl.conf file with our version'
|
150
152
|
task :replace_apache_defaults do
|
151
153
|
on roles(:web) do
|
152
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
154
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
153
155
|
|
154
156
|
debug '#' * 50
|
155
157
|
debug 'Update httpd.conf and ssl.conf'
|
@@ -236,7 +238,7 @@ namespace :apache do
|
|
236
238
|
desc 'Create Apache configuration files shared folder'
|
237
239
|
task :create_apache_shared_folder do
|
238
240
|
on roles(:app) do
|
239
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
241
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
240
242
|
|
241
243
|
debug '#' * 50
|
242
244
|
debug 'Create Apache configuration files shared folder'
|
@@ -254,7 +256,7 @@ namespace :apache do
|
|
254
256
|
desc 'Create symbolic link to application public folder in Apache DocumentRoot folder'
|
255
257
|
task :create_symbolic_link do
|
256
258
|
on roles(:web), in: :sequence do
|
257
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
259
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
258
260
|
|
259
261
|
info '#' * 50
|
260
262
|
info 'Creating application symbolic link'
|
@@ -11,7 +11,7 @@ namespace :app_home do
|
|
11
11
|
desc 'Create application deploy folders on server and give it the correct permissions'
|
12
12
|
task :create_deploy_folder do
|
13
13
|
on roles(:app), in: :sequence do
|
14
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
14
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
15
15
|
|
16
16
|
debug '#' * 50
|
17
17
|
|
@@ -31,7 +31,7 @@ namespace :app_home do
|
|
31
31
|
desc 'Create shared folder on server DEPLOY folder and give it the correct permissions'
|
32
32
|
task :create_shared_folder do
|
33
33
|
on roles(:app), in: :sequence do
|
34
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
34
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
35
35
|
|
36
36
|
debug '#' * 50
|
37
37
|
|
@@ -74,7 +74,7 @@ namespace :app_home do
|
|
74
74
|
task :correct_shared_permissions do
|
75
75
|
on roles(:app), in: :sequence do
|
76
76
|
within release_path do
|
77
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
77
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
78
78
|
|
79
79
|
debug '#' * 50
|
80
80
|
|
@@ -110,7 +110,7 @@ namespace :app_home do
|
|
110
110
|
task :correct_public_folder_permissions do
|
111
111
|
on roles(:app) do
|
112
112
|
within release_path do
|
113
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
113
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
114
114
|
|
115
115
|
debug '#' * 50
|
116
116
|
set :public_folder_path, "#{release_path}/public"
|
@@ -147,7 +147,7 @@ namespace :app_home do
|
|
147
147
|
task :deploy_first_time_start_msg do
|
148
148
|
on roles(:msg) do
|
149
149
|
info '#' * 100
|
150
|
-
info '#' * 10
|
150
|
+
info "#{'#' * 10} => Start Application first time deployment..."
|
151
151
|
info '#' * 100
|
152
152
|
end
|
153
153
|
end
|
@@ -155,7 +155,7 @@ namespace :app_home do
|
|
155
155
|
task :deploy_start_msg do
|
156
156
|
on roles(:msg) do
|
157
157
|
info '#' * 100
|
158
|
-
info '#' * 10
|
158
|
+
info "#{'#' * 10} => Start Application re-deployment..."
|
159
159
|
info '#' * 100
|
160
160
|
end
|
161
161
|
end
|
@@ -163,7 +163,7 @@ namespace :app_home do
|
|
163
163
|
task :deploy_success_msg do
|
164
164
|
on roles(:msg) do
|
165
165
|
info '#' * 100
|
166
|
-
info '#' * 10
|
166
|
+
info "#{'#' * 10} => Application Successfully deployed..."
|
167
167
|
info '#' * 100
|
168
168
|
info '#' * 10 + " => visit: #{fetch(:app_domain)}#{fetch(:app_name_uri)}"
|
169
169
|
info '#' * 100
|
@@ -176,7 +176,7 @@ namespace :app_home do
|
|
176
176
|
###
|
177
177
|
task :restart do
|
178
178
|
on roles(:app) do
|
179
|
-
info '#' * 10
|
179
|
+
info "#{'#' * 10} Touching restart.txt..."
|
180
180
|
execute :touch, release_path.join('tmp/restart.txt')
|
181
181
|
end
|
182
182
|
end
|
@@ -56,7 +56,7 @@ namespace :database do
|
|
56
56
|
# desc 'Correct database.yml file permissions before change the file'
|
57
57
|
task :set_permissions_pre_update do
|
58
58
|
on roles(:app) do
|
59
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
59
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
60
60
|
|
61
61
|
debug '#' * 50
|
62
62
|
|
@@ -71,7 +71,7 @@ namespace :database do
|
|
71
71
|
# desc 'Correct database.yml file permissions after change the file'
|
72
72
|
task :set_permissions_post_update do
|
73
73
|
on roles(:app) do
|
74
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
74
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
75
75
|
|
76
76
|
debug '#' * 50
|
77
77
|
|
@@ -75,7 +75,7 @@ namespace :secrets do
|
|
75
75
|
# desc 'Correct secrets.yml file permissions before change the file'
|
76
76
|
task :set_permissions_pre_update do
|
77
77
|
on roles(:app) do
|
78
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
78
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
79
79
|
|
80
80
|
debug '#' * 50
|
81
81
|
|
@@ -90,7 +90,7 @@ namespace :secrets do
|
|
90
90
|
# desc 'Correct secrets.yml file permissions after change the file'
|
91
91
|
task :set_permissions_post_update do
|
92
92
|
on roles(:app) do
|
93
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
93
|
+
sudo_cmd = "echo '#{fetch(:password)}' | sudo -S"
|
94
94
|
|
95
95
|
debug '#' * 50
|
96
96
|
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-exfel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luis Maia
|
8
8
|
- Maurizio Manetti
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-06-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -79,7 +79,7 @@ homepage: https://github.com/luismaia/capistrano-exfel
|
|
79
79
|
licenses:
|
80
80
|
- MIT
|
81
81
|
metadata: {}
|
82
|
-
post_install_message:
|
82
|
+
post_install_message:
|
83
83
|
rdoc_options: []
|
84
84
|
require_paths:
|
85
85
|
- lib
|
@@ -94,8 +94,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
94
94
|
- !ruby/object:Gem::Version
|
95
95
|
version: '0'
|
96
96
|
requirements: []
|
97
|
-
rubygems_version: 3.
|
98
|
-
signing_key:
|
97
|
+
rubygems_version: 3.3.26
|
98
|
+
signing_key:
|
99
99
|
specification_version: 4
|
100
|
-
summary: Deploy Ruby on Rails 4 and
|
100
|
+
summary: Deploy Ruby on Rails 4, 5, 6 and 7 Applications in EXFEL Virtual Machines
|
101
101
|
test_files: []
|