capistrano-exfel 0.1.0 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|