capistrano-exfel 0.1.0 → 0.2.2
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/Gemfile +1 -1
- data/README.md +10 -5
- data/capistrano-exfel.gemspec +6 -5
- data/capistrano.graph +66 -0
- data/capistrano.png +0 -0
- data/lib/capistrano/exfel/co7.rb +2 -1
- data/lib/capistrano/exfel/sl6.rb +2 -1
- data/lib/capistrano/exfel/ub14.rb +20 -0
- data/lib/capistrano/exfel/version.rb +1 -1
- data/lib/capistrano/recipes/ub14/apache.conf +18 -0
- data/lib/capistrano/recipes/ub14/passenger.conf +6 -0
- data/lib/capistrano/tasks/{apache.rake → apache_common.rake} +2 -47
- data/lib/capistrano/tasks/apache_rpm.rake +50 -0
- data/lib/capistrano/tasks/apache_ub14.rake +116 -0
- data/lib/capistrano/tasks/util.rake +1 -0
- metadata +18 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a12ee64c6c95bd3aa5e82e0ccef17dc88b1e434ee2148a346bb6d61357467fd5
|
4
|
+
data.tar.gz: e9a15450e04f59f14fde3e420096496fbeaf9a99b4db9eef348f94b15cf70735
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e436f864ca19dc36c026c58b4ef611c94522db49e2ee4a004033822cbd3efee947e7267bf17a93dc5f9e144f7b270c11c0be0a28d5a3bd136770ffcbeca5e13e
|
7
|
+
data.tar.gz: fb090a9da42207a3df66ac37f7c88dc520d79ea0d8868674aba4056a8a29464aba68af57a61923d7ba22e60822e4891abf9dd880432ca471ddf6030f9188d5b7
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
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 Scientific Linux 6
|
4
|
+
The standard EXFEL VMs consist of Scientific Linux 6, CentOS 7 or Ubuntu 14 with Apache.
|
5
5
|
Installation of Phusion Passenger and RVM are also required to this gem.
|
6
6
|
|
7
7
|
## Installation
|
@@ -10,7 +10,7 @@ Add these lines to your application's Gemfile:
|
|
10
10
|
|
11
11
|
# Use Capistrano for deployment
|
12
12
|
gem 'capistrano', '3.11.0', require: false
|
13
|
-
gem 'capistrano-exfel', '0.
|
13
|
+
gem 'capistrano-exfel', '0.2.2', require: false
|
14
14
|
gem 'capistrano-rails', '1.4.0', require: false
|
15
15
|
gem 'capistrano-rvm', '0.1.2', require: false
|
16
16
|
|
@@ -33,11 +33,16 @@ Add this line to your `Capfile` for Scientific Linux 6 machines:
|
|
33
33
|
# Load Capistrano Exfel Scientific Linux 6 tasks
|
34
34
|
require 'capistrano/exfel/sl6'
|
35
35
|
|
36
|
-
Add this line to your `Capfile` for CentOS 7 machines
|
36
|
+
Add this line to your `Capfile` for CentOS 7 machines:
|
37
37
|
|
38
38
|
# Load Capistrano Exfel CentOS tasks
|
39
39
|
require 'capistrano/exfel/co7'
|
40
40
|
|
41
|
+
Add this line to your `Capfile` for Ubuntu 14 machines:
|
42
|
+
|
43
|
+
# Load Ubuntu 14 tasks
|
44
|
+
require 'capistrano/exfel/ub14'
|
45
|
+
|
41
46
|
|
42
47
|
This gem will reuse `capistrano-rails` and `capistrano-rvm` tasks to build the following tasks:
|
43
48
|
|
@@ -79,7 +84,7 @@ The most important configurable options and their defaults:options can be added
|
|
79
84
|
|
80
85
|
```ruby
|
81
86
|
# Set username and password
|
82
|
-
set :username, ask('username',
|
87
|
+
set :username, ask('username', proc { `whoami`.chomp }.call) # If not specified will ask for it proposing the current user
|
83
88
|
set :password, ask('password', nil, echo: false) # If not specified will ask for it
|
84
89
|
|
85
90
|
# Application Name
|
@@ -112,7 +117,7 @@ set :repo_url, 'exfl_git_server:/my_app_repo_path' # 'git@example.com:me/my_repo
|
|
112
117
|
|
113
118
|
# RVM related information
|
114
119
|
# set :rvm_type, :system
|
115
|
-
set :rvm_ruby_version, '2.
|
120
|
+
set :rvm_ruby_version, '2.4.4' # If not specified will ask for it
|
116
121
|
# set :rvm_roles, [:app, :web]
|
117
122
|
```
|
118
123
|
|
data/capistrano-exfel.gemspec
CHANGED
@@ -7,9 +7,10 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.version = Capistrano::Exfel::VERSION
|
8
8
|
spec.authors = ['Luis Maia', 'Maurizio Manetti']
|
9
9
|
spec.email = %w[luisgoncalo.maia@gmail.com maurizio.manetti@xfel.eu]
|
10
|
-
spec.summary = 'Deploy Ruby on Rails 4 Applications in EXFEL Virtual Machines'
|
11
|
-
spec.description
|
12
|
-
'(Scientific Linux / CentOS 7 + Apache + RVM + Phusion Passenger)
|
10
|
+
spec.summary = 'Deploy Ruby on Rails 4 and 5 Applications in EXFEL Virtual Machines'
|
11
|
+
spec.description = 'Deployment of Ruby on Rails Applications in EXFEL Virtual Machines ' \
|
12
|
+
'(Scientific Linux / CentOS 7 / Ubuntu 14 + Apache + RVM + Phusion Passenger) ' \
|
13
|
+
'using Capistrano3 and LDAP'
|
13
14
|
spec.homepage = 'https://github.com/luismaia/capistrano-exfel'
|
14
15
|
spec.license = 'MIT'
|
15
16
|
|
@@ -18,6 +19,6 @@ Gem::Specification.new do |spec|
|
|
18
19
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
20
|
spec.require_paths = ['lib']
|
20
21
|
|
21
|
-
spec.add_development_dependency 'bundler', '~> 1.
|
22
|
-
spec.add_development_dependency 'rake', '~>
|
22
|
+
spec.add_development_dependency 'bundler', '~> 1.17'
|
23
|
+
spec.add_development_dependency 'rake', '~> 12.0'
|
23
24
|
end
|
data/capistrano.graph
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
digraph {
|
2
|
+
|
3
|
+
rankdir=LR;
|
4
|
+
node [shape=box;fontname=Arial];
|
5
|
+
|
6
|
+
"application:deploy_first_time" -> "app_home:deploy_first_time_start_msg";
|
7
|
+
"application:deploy_first_time" -> "app_home:create_all";
|
8
|
+
"application:deploy_first_time" -> "database:configure_mysql";
|
9
|
+
"application:deploy_first_time" -> "secrets:configure";
|
10
|
+
"application:deploy_first_time" -> "apache:configure_and_start";
|
11
|
+
"application:deploy_first_time" -> "apache:check_write_permissions";
|
12
|
+
"application:deploy_first_time" -> deploy;
|
13
|
+
"application:deploy_first_time" -> "app_home:correct_shared_permissions";
|
14
|
+
"application:deploy_first_time" -> "application:restart";
|
15
|
+
|
16
|
+
"application:deploy" -> "app_home:deploy_start_msg";
|
17
|
+
"application:deploy" -> "secrets:update_app_secret";
|
18
|
+
"application:deploy" -> deploy;
|
19
|
+
"application:deploy" -> "app_home:correct_shared_permissions";
|
20
|
+
"application:deploy" -> "application:restart";
|
21
|
+
|
22
|
+
"application:restart" -> "apache:restart";
|
23
|
+
"application:restart" -> "app_home:reload_server_cache";
|
24
|
+
"application:restart" -> "app_home:deploy_success_msg";
|
25
|
+
|
26
|
+
"application:reconfigure_apache" -> "apache_co7:configure";
|
27
|
+
"application:reconfigure_apache" -> "application:restart";
|
28
|
+
|
29
|
+
"app_home:create_all" -> "app_home:create_deploy_folder";
|
30
|
+
"app_home:create_all" -> "app_home:create_shared_folder";
|
31
|
+
"app_home:create_all" -> "app_home:create_revisions_file";
|
32
|
+
|
33
|
+
"apache:configure_and_start" -> "apache_co7:configure";
|
34
|
+
"apache:configure_and_start" -> "apache:chkconfig_on";
|
35
|
+
"apache:configure_and_start" -> "apache_co7:secure_apache";
|
36
|
+
"apache:configure_and_start" -> "apache:create_symbolic_link";
|
37
|
+
|
38
|
+
"apache:check_write_permissions" -> "apache:check_write_permissions_on_deploy";
|
39
|
+
"apache:check_write_permissions" -> "apache:check_write_permissions_on_document_root";
|
40
|
+
|
41
|
+
"apache_co7:configure" -> "apache:create_apache_shared_folder";
|
42
|
+
"apache_co7:configure" -> "apache_co7:configure_apache_modules";
|
43
|
+
"apache_co7:configure" -> "apache_co7:configure_app_conf_file";
|
44
|
+
"apache_co7:configure" -> "apache_co7:configure_app_ssl_conf_file";
|
45
|
+
|
46
|
+
deploy -> "deploy:compile_assets";
|
47
|
+
"deploy:compile_assets" -> "deploy:assets_precompile";
|
48
|
+
"deploy:compile_assets" -> "deploy:assets_backup_manifest";
|
49
|
+
|
50
|
+
"database:configure_mysql" -> "database:configure_database_file";
|
51
|
+
"database:configure_database_file" -> "database:set_permissions_pre_update";
|
52
|
+
"database:configure_database_file" -> "database:set_database_file";
|
53
|
+
"database:configure_database_file" -> "database:set_permissions_post_update";
|
54
|
+
|
55
|
+
"secrets:configure" -> "secrets:set_permissions_pre_update";
|
56
|
+
"secrets:configure" -> "secrets:set_secrets_file";
|
57
|
+
"secrets:configure" -> "secrets:replace_token";
|
58
|
+
"secrets:configure" -> "secrets:set_permissions_post_update";
|
59
|
+
|
60
|
+
"secrets:update_app_secret" -> "secrets:set_permissions_pre_update";
|
61
|
+
"secrets:update_app_secret" -> "secrets:replace_token";
|
62
|
+
"secrets:update_app_secret" -> "secrets:set_permissions_post_update"
|
63
|
+
|
64
|
+
}
|
65
|
+
|
66
|
+
|
data/capistrano.png
ADDED
Binary file
|
data/lib/capistrano/exfel/co7.rb
CHANGED
@@ -10,7 +10,8 @@ require 'capistrano/rvm'
|
|
10
10
|
# Includes tasks for rails
|
11
11
|
require 'capistrano/rails'
|
12
12
|
|
13
|
-
load File.expand_path('../tasks/
|
13
|
+
load File.expand_path('../tasks/apache_common.rake', __dir__)
|
14
|
+
load File.expand_path('../tasks/apache_rpm.rake', __dir__)
|
14
15
|
load File.expand_path('../tasks/apache_co7.rake', __dir__)
|
15
16
|
load File.expand_path('../tasks/app_home.rake', __dir__)
|
16
17
|
load File.expand_path('../tasks/assets.rake', __dir__)
|
data/lib/capistrano/exfel/sl6.rb
CHANGED
@@ -10,7 +10,8 @@ require 'capistrano/rvm'
|
|
10
10
|
# Includes tasks for rails
|
11
11
|
require 'capistrano/rails'
|
12
12
|
|
13
|
-
load File.expand_path('../tasks/
|
13
|
+
load File.expand_path('../tasks/apache_common.rake', __dir__)
|
14
|
+
load File.expand_path('../tasks/apache_rpm.rake', __dir__)
|
14
15
|
load File.expand_path('../tasks/apache_sl6.rake', __dir__)
|
15
16
|
load File.expand_path('../tasks/app_home.rake', __dir__)
|
16
17
|
load File.expand_path('../tasks/assets.rake', __dir__)
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# Load DSL and Setup Up Stages
|
2
|
+
require 'capistrano/setup'
|
3
|
+
|
4
|
+
# Includes default deployment tasks
|
5
|
+
require 'capistrano/deploy'
|
6
|
+
|
7
|
+
# Includes tasks from other gems included in your Gemfile
|
8
|
+
require 'capistrano/rvm'
|
9
|
+
|
10
|
+
# Includes tasks for rails
|
11
|
+
require 'capistrano/rails'
|
12
|
+
|
13
|
+
load File.expand_path('../tasks/apache_common.rake', __dir__)
|
14
|
+
load File.expand_path('../tasks/apache_ub14.rake', __dir__)
|
15
|
+
load File.expand_path('../tasks/app_home.rake', __dir__)
|
16
|
+
load File.expand_path('../tasks/assets.rake', __dir__)
|
17
|
+
load File.expand_path('../tasks/application.rake', __dir__)
|
18
|
+
load File.expand_path('../tasks/database.rake', __dir__)
|
19
|
+
load File.expand_path('../tasks/secrets.rake', __dir__)
|
20
|
+
load File.expand_path('../tasks/util.rake', __dir__)
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Alias /<<APPLICATION_NAME>> /var/www/html/<<APPLICATION_NAME>>
|
2
|
+
|
3
|
+
#
|
4
|
+
# Application
|
5
|
+
#
|
6
|
+
|
7
|
+
<Directory "/var/www/html/<<APPLICATION_NAME>>">
|
8
|
+
RackBaseURI /<<APPLICATION_NAME>>
|
9
|
+
RailsEnv <<ENVIRONMENT>>
|
10
|
+
|
11
|
+
PassengerUser nobody
|
12
|
+
PassengerGroup nogroup
|
13
|
+
|
14
|
+
# This relaxes Apache security settings.
|
15
|
+
Options -Indexes +MultiViews +FollowSymLinks
|
16
|
+
AllowOverride None
|
17
|
+
Require all granted
|
18
|
+
</Directory>
|
@@ -1,13 +1,6 @@
|
|
1
|
-
|
2
|
-
desc 'Configure Apache (httpd) and restart it'
|
3
|
-
task :configure_and_start do
|
4
|
-
invoke 'apache:configure'
|
5
|
-
invoke 'apache:chkconfig_on'
|
6
|
-
# invoke 'apache:restart'
|
7
|
-
invoke 'apache:secure_apache' # This should go to Puppet
|
8
|
-
invoke 'apache:create_symbolic_link'
|
9
|
-
end
|
1
|
+
# apache tasks common to all distros
|
10
2
|
|
3
|
+
namespace :apache do
|
11
4
|
desc 'Check that the user has write permissions in the Deploy and in Apache DocumentRoot folders'
|
12
5
|
task :check_write_permissions do
|
13
6
|
invoke 'apache:check_write_permissions_on_deploy'
|
@@ -65,44 +58,6 @@ namespace :apache do
|
|
65
58
|
end
|
66
59
|
end
|
67
60
|
|
68
|
-
desc 'Configure Apache to start at bootup'
|
69
|
-
task :chkconfig_on do
|
70
|
-
on roles(:web) do
|
71
|
-
info 'In task apache:chkconfig_on'
|
72
|
-
|
73
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
74
|
-
|
75
|
-
debug '#' * 50
|
76
|
-
|
77
|
-
debug 'chkconfig httpd on'
|
78
|
-
execute "#{sudo_cmd} chkconfig httpd on"
|
79
|
-
|
80
|
-
info 'Configured Apache to start at bootup'
|
81
|
-
debug '#' * 50
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
desc 'Restart Apache (httpd) service'
|
86
|
-
task :restart do
|
87
|
-
on roles(:web) do
|
88
|
-
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
89
|
-
|
90
|
-
debug '#' * 50
|
91
|
-
|
92
|
-
debug 'service httpd stop'
|
93
|
-
execute "#{sudo_cmd} service httpd stop"
|
94
|
-
|
95
|
-
debug 'pkill -9 httpd || true'
|
96
|
-
execute "#{sudo_cmd} pkill -9 httpd || true"
|
97
|
-
|
98
|
-
debug 'service httpd start'
|
99
|
-
execute "#{sudo_cmd} service httpd start"
|
100
|
-
|
101
|
-
info 'Restarted Apache (httpd) service'
|
102
|
-
debug '#' * 50
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
61
|
desc 'Create symbolic link to application public folder in Apache DocumentRoot folder'
|
107
62
|
task :create_symbolic_link do
|
108
63
|
on roles(:web), in: :sequence do
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# apache tasks common to RPM-based distros (CentOS and Scientific Linux)
|
2
|
+
|
3
|
+
namespace :apache do
|
4
|
+
desc 'Configure Apache (httpd) and restart it'
|
5
|
+
task :configure_and_start do
|
6
|
+
invoke 'apache:configure'
|
7
|
+
invoke 'apache:chkconfig_on'
|
8
|
+
# invoke 'apache:restart'
|
9
|
+
invoke 'apache:secure_apache' # This should go to Puppet
|
10
|
+
invoke 'apache:create_symbolic_link'
|
11
|
+
end
|
12
|
+
|
13
|
+
desc 'Configure Apache to start at bootup'
|
14
|
+
task :chkconfig_on do
|
15
|
+
on roles(:web) do
|
16
|
+
info 'In task apache:chkconfig_on'
|
17
|
+
|
18
|
+
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
19
|
+
|
20
|
+
debug '#' * 50
|
21
|
+
|
22
|
+
debug 'chkconfig httpd on'
|
23
|
+
execute "#{sudo_cmd} chkconfig httpd on"
|
24
|
+
|
25
|
+
info 'Configured Apache to start at bootup'
|
26
|
+
debug '#' * 50
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
desc 'Restart Apache (httpd) service'
|
31
|
+
task :restart do
|
32
|
+
on roles(:web) do
|
33
|
+
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
34
|
+
|
35
|
+
debug '#' * 50
|
36
|
+
|
37
|
+
debug 'service httpd stop'
|
38
|
+
execute "#{sudo_cmd} service httpd stop"
|
39
|
+
|
40
|
+
debug 'pkill -9 httpd || true'
|
41
|
+
execute "#{sudo_cmd} pkill -9 httpd || true"
|
42
|
+
|
43
|
+
debug 'service httpd start'
|
44
|
+
execute "#{sudo_cmd} service httpd start"
|
45
|
+
|
46
|
+
info 'Restarted Apache (httpd) service'
|
47
|
+
debug '#' * 50
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,116 @@
|
|
1
|
+
# apache tasks specific to Ubuntu 14
|
2
|
+
|
3
|
+
namespace :apache do
|
4
|
+
desc 'Configure Apache (httpd) and restart it'
|
5
|
+
task :configure_and_start do
|
6
|
+
invoke 'apache:configure'
|
7
|
+
# invoke 'apache:restart'
|
8
|
+
# invoke 'apache:secure_apache' # This should go to Puppet
|
9
|
+
invoke 'apache:create_symbolic_link'
|
10
|
+
end
|
11
|
+
|
12
|
+
desc 'Restart Apache (apache2) service'
|
13
|
+
task :restart do
|
14
|
+
on roles(:web) do
|
15
|
+
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
16
|
+
|
17
|
+
debug '#' * 50
|
18
|
+
|
19
|
+
debug 'service apache2 stop'
|
20
|
+
execute "#{sudo_cmd} service apache2 stop"
|
21
|
+
|
22
|
+
debug 'pkill -9 apache2 || true'
|
23
|
+
execute "#{sudo_cmd} pkill -9 apache2 || true"
|
24
|
+
|
25
|
+
debug 'service apache2 start'
|
26
|
+
execute "#{sudo_cmd} service apache2 start"
|
27
|
+
|
28
|
+
info 'Restarted Apache (apache2) service'
|
29
|
+
debug '#' * 50
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
desc 'Configure Apache configuration files'
|
34
|
+
task :configure do
|
35
|
+
invoke 'apache:create_apache_shared_folder'
|
36
|
+
invoke 'apache:configure_apache_modules'
|
37
|
+
invoke 'apache:configure_app_conf_file'
|
38
|
+
end
|
39
|
+
|
40
|
+
desc 'Configure (HTTP) Apache modules'
|
41
|
+
task :configure_apache_modules do
|
42
|
+
on roles(:app) do
|
43
|
+
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
44
|
+
|
45
|
+
debug '#' * 50
|
46
|
+
debug 'Configure (HTTP) Apache Passenger module'
|
47
|
+
|
48
|
+
set :shared_passenger_file, "#{fetch(:shared_apache_path)}/passenger.conf"
|
49
|
+
passenger_file = File.expand_path('../recipes/ub14/passenger.conf', __dir__)
|
50
|
+
|
51
|
+
upload! StringIO.new(File.read(passenger_file)), fetch(:shared_passenger_file).to_s
|
52
|
+
|
53
|
+
debug "chmod g+w #{fetch(:shared_passenger_file)}"
|
54
|
+
execute "chmod g+w #{fetch(:shared_passenger_file)}"
|
55
|
+
|
56
|
+
passenger_root = get_command_output('/usr/local/rvm/bin/rvm default do passenger-config --root')
|
57
|
+
ruby_path = "/#{passenger_root.split('/')[1..5].join('/')}/wrappers/ruby"
|
58
|
+
|
59
|
+
debug "sed -i 's|<<PASSENGER_ROOT>>|#{passenger_root}|g' #{fetch(:shared_passenger_file)}"
|
60
|
+
execute "sed -i 's|<<PASSENGER_ROOT>>|#{passenger_root}|g' #{fetch(:shared_passenger_file)}"
|
61
|
+
execute "sed -i 's|<<RUBY_PATH>>|#{ruby_path}|g' #{fetch(:shared_passenger_file)}"
|
62
|
+
|
63
|
+
execute "#{sudo_cmd} ln -sfn #{fetch(:shared_passenger_file)} /etc/apache2/mods-enabled/"
|
64
|
+
|
65
|
+
debug '#' * 50
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
# desc 'Configure (HTTP) Apache Application configuration files'
|
70
|
+
task :configure_app_conf_file do
|
71
|
+
on roles(:app), in: :sequence do
|
72
|
+
sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
73
|
+
|
74
|
+
debug '#' * 50
|
75
|
+
debug 'Configure (HTTP) Apache Application configuration files'
|
76
|
+
|
77
|
+
set :shared_apache_conf_file, "#{fetch(:shared_apache_path)}/app_#{fetch(:app_name_uri)}.conf"
|
78
|
+
http_file = File.expand_path('../recipes/ub14/apache.conf', __dir__)
|
79
|
+
upload! StringIO.new(File.read(http_file)), fetch(:shared_apache_conf_file).to_s
|
80
|
+
|
81
|
+
debug "chmod g+w #{fetch(:shared_apache_conf_file)}"
|
82
|
+
execute "chmod g+w #{fetch(:shared_apache_conf_file)}"
|
83
|
+
|
84
|
+
execute "sed -i 's|<<APPLICATION_NAME>>|#{fetch(:app_name_uri)}|g' #{fetch(:shared_apache_conf_file)}"
|
85
|
+
execute "sed -i 's/<<ENVIRONMENT>>/#{fetch(:environment)}/g' #{fetch(:shared_apache_conf_file)}"
|
86
|
+
|
87
|
+
execute "#{sudo_cmd} ln -sfn #{fetch(:shared_apache_conf_file)} /etc/apache2/sites-enabled/"
|
88
|
+
|
89
|
+
debug '#' * 50
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
# desc 'Configure (HTTPS) Apache Application configuration files'
|
94
|
+
# task :configure_app_ssl_conf_file do
|
95
|
+
# on roles(:app), in: :sequence do
|
96
|
+
# sudo_cmd = "echo #{fetch(:password)} | sudo -S"
|
97
|
+
#
|
98
|
+
# debug '#' * 50
|
99
|
+
# debug 'Configure (HTTPS) Apache Application configuration files'
|
100
|
+
#
|
101
|
+
# set :shared_apache_conf_ssl_file, "#{fetch(:shared_apache_path)}/app_#{fetch(:app_name_uri)}_ssl.conf"
|
102
|
+
# http_ssl_file = File.expand_path('../recipes/co7/apache_ssl.conf', __dir__)
|
103
|
+
# upload! StringIO.new(File.read(http_ssl_file)), fetch(:shared_apache_conf_ssl_file).to_s
|
104
|
+
#
|
105
|
+
# debug "chmod g+w #{fetch(:shared_apache_conf_ssl_file)}"
|
106
|
+
# execute "chmod g+w #{fetch(:shared_apache_conf_ssl_file)}"
|
107
|
+
#
|
108
|
+
# execute "sed -i 's/<<APPLICATION_NAME>>/#{fetch(:app_name_uri)}/g' #{fetch(:shared_apache_conf_ssl_file)}"
|
109
|
+
# execute "sed -i 's/<<ENVIRONMENT>>/#{fetch(:environment)}/g' #{fetch(:shared_apache_conf_ssl_file)}"
|
110
|
+
#
|
111
|
+
# execute "#{sudo_cmd} ln -sfn #{fetch(:shared_apache_conf_ssl_file)} /etc/httpd/conf.d/"
|
112
|
+
#
|
113
|
+
# debug '#' * 50
|
114
|
+
# end
|
115
|
+
# end
|
116
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-exfel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luis Maia
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-11-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -17,36 +17,31 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '1.
|
20
|
+
version: '1.17'
|
21
21
|
type: :development
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '1.
|
27
|
+
version: '1.17'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: rake
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
35
|
-
- - ">"
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '10.0'
|
34
|
+
version: '12.0'
|
38
35
|
type: :development
|
39
36
|
prerelease: false
|
40
37
|
version_requirements: !ruby/object:Gem::Requirement
|
41
38
|
requirements:
|
42
39
|
- - "~>"
|
43
40
|
- !ruby/object:Gem::Version
|
44
|
-
version: '
|
45
|
-
- - ">"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '10.0'
|
41
|
+
version: '12.0'
|
48
42
|
description: Deployment of Ruby on Rails Applications in EXFEL Virtual Machines (Scientific
|
49
|
-
Linux / CentOS 7 + Apache + RVM + Phusion Passenger) using Capistrano3
|
43
|
+
Linux / CentOS 7 / Ubuntu 14 + Apache + RVM + Phusion Passenger) using Capistrano3
|
44
|
+
and LDAP
|
50
45
|
email:
|
51
46
|
- luisgoncalo.maia@gmail.com
|
52
47
|
- maurizio.manetti@xfel.eu
|
@@ -61,9 +56,12 @@ files:
|
|
61
56
|
- README.md
|
62
57
|
- Rakefile
|
63
58
|
- capistrano-exfel.gemspec
|
59
|
+
- capistrano.graph
|
60
|
+
- capistrano.png
|
64
61
|
- lib/capistrano/exfel.rb
|
65
62
|
- lib/capistrano/exfel/co7.rb
|
66
63
|
- lib/capistrano/exfel/sl6.rb
|
64
|
+
- lib/capistrano/exfel/ub14.rb
|
67
65
|
- lib/capistrano/exfel/version.rb
|
68
66
|
- lib/capistrano/recipes/apache_http.conf
|
69
67
|
- lib/capistrano/recipes/apache_ssl.conf
|
@@ -75,9 +73,13 @@ files:
|
|
75
73
|
- lib/capistrano/recipes/config/database_postgresql.yml
|
76
74
|
- lib/capistrano/recipes/config/database_sqlite.yml
|
77
75
|
- lib/capistrano/recipes/config/secrets_example.yml
|
78
|
-
- lib/capistrano/
|
76
|
+
- lib/capistrano/recipes/ub14/apache.conf
|
77
|
+
- lib/capistrano/recipes/ub14/passenger.conf
|
79
78
|
- lib/capistrano/tasks/apache_co7.rake
|
79
|
+
- lib/capistrano/tasks/apache_common.rake
|
80
|
+
- lib/capistrano/tasks/apache_rpm.rake
|
80
81
|
- lib/capistrano/tasks/apache_sl6.rake
|
82
|
+
- lib/capistrano/tasks/apache_ub14.rake
|
81
83
|
- lib/capistrano/tasks/app_home.rake
|
82
84
|
- lib/capistrano/tasks/application.rake
|
83
85
|
- lib/capistrano/tasks/assets.rake
|
@@ -104,8 +106,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
106
|
version: '0'
|
105
107
|
requirements: []
|
106
108
|
rubyforge_project:
|
107
|
-
rubygems_version: 2.7.
|
109
|
+
rubygems_version: 2.7.8
|
108
110
|
signing_key:
|
109
111
|
specification_version: 4
|
110
|
-
summary: Deploy Ruby on Rails 4 Applications in EXFEL Virtual Machines
|
112
|
+
summary: Deploy Ruby on Rails 4 and 5 Applications in EXFEL Virtual Machines
|
111
113
|
test_files: []
|