capistrano-psw 1.0.0.pre35 → 1.0.0.pre36
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: adb04c574096e7f4584e52646f1534ef82a6c9f0
|
4
|
+
data.tar.gz: 163ed475c4a1b70c7b7239f170df7dfe8976419b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b2f0c33c767c8af621d41890c5ed32f2a60f59520c93fe9a01b511f80ed5b4f2fd785701c0af008926545498e3c826bfa674cadccde4919f84c5a0d281ccab6
|
7
|
+
data.tar.gz: 734bb3836063de1377595c49b17927902b5ea985190bacad23fcf9660f2967600afd24df40f7ab9644655f5bc577f20909eaf5af8db6274cf97372a0e05859fa
|
@@ -46,6 +46,7 @@
|
|
46
46
|
# Copyright:: 2013 Lexmark International Technology S.A. All rights reserved.
|
47
47
|
# License:: 3-Clause BSD
|
48
48
|
require 'capistrano/psw/peppr_app_deploy_file_utils'
|
49
|
+
require 'capistrano/dsl'
|
49
50
|
|
50
51
|
namespace :psw_peppr_app_deploy do
|
51
52
|
|
@@ -121,49 +122,6 @@ namespace :psw_peppr_app_deploy do
|
|
121
122
|
|
122
123
|
info "Uploading #{local_shared_files_path} (local) to #{remote_shared_files_path} on remote server #{host}..."
|
123
124
|
PepprAppDeployFileUtils::upload_compressed_local_dir(local_shared_files_path, remote_shared_files_path)
|
124
|
-
|
125
|
-
#this will only list the top-level folders and files, nested will show as a result of the link
|
126
|
-
if File.directory?(local_shared_files_path)
|
127
|
-
Dir.foreach(local_shared_files_path) do |file|
|
128
|
-
next if file == '.' || file == '..' || file == '.absolute_paths'
|
129
|
-
|
130
|
-
if File.directory?(file)
|
131
|
-
new_file_path = File.join(shared_path, file)
|
132
|
-
debug "Deleting existing environment file: #{new_file_path}"
|
133
|
-
sudo :rm, '-rf', new_file_path
|
134
|
-
|
135
|
-
debug "Creating a symlink for environment folder #{remote_shared_files_path}/#{file}..."
|
136
|
-
sudo :ln, '-sf', "#{remote_shared_files_path}/#{file}", "#{shared_path}"
|
137
|
-
else
|
138
|
-
new_file_path = File.join(shared_path, file)
|
139
|
-
debug "Deleting existing environment file: #{new_file_path}"
|
140
|
-
sudo :rm, '-rf', new_file_path
|
141
|
-
|
142
|
-
debug "Creating a symlink for environment file #{remote_shared_files_path}/#{file}..."
|
143
|
-
sudo :ln, '-sf', "#{remote_shared_files_path}/#{file}", "#{shared_path}/#{file}"
|
144
|
-
end
|
145
|
-
end
|
146
|
-
end
|
147
|
-
|
148
|
-
#absolute directories and files need to explicitly link files (can't just link to remote file folder)
|
149
|
-
if File.directory?("#{local_shared_files_path}/.absolute_paths")
|
150
|
-
files = Find.find(local_shared_files_path)
|
151
|
-
absolute_path_files, shared_files = files.partition { |f| f.start_with? "#{local_shared_files_path}/.absolute_paths" }
|
152
|
-
|
153
|
-
absolute_path_files.each do |file|
|
154
|
-
relative_path = file.gsub("#{local_shared_files_path}/.absolute_paths", '')
|
155
|
-
filename = Pathname.new(relative_path).basename
|
156
|
-
|
157
|
-
if File.directory?(file) && relative_path.strip != ''
|
158
|
-
#we need to create the directories because symlinks don't created nested folders
|
159
|
-
execute :mkdir, '-p', relative_path
|
160
|
-
elsif relative_path.gsub(/\s+/, '') != '' and relative_path != '.' and relative_path != '..'
|
161
|
-
original_location = File.join(remote_shared_files_path, ".absolute_paths", relative_path)
|
162
|
-
debug "Creating a symlink from environment file #{original_location} to #{relative_path}..."
|
163
|
-
sudo :ln, '-sf', original_location, relative_path
|
164
|
-
end
|
165
|
-
end
|
166
|
-
end
|
167
125
|
end
|
168
126
|
end
|
169
127
|
|
@@ -215,4 +173,61 @@ namespace :psw_peppr_app_deploy do
|
|
215
173
|
desc "Optional steps to execute a Peppr deployment after a Capistrano deploy has finished"
|
216
174
|
task post_deploy_steps: [:'link_artifacts'] do
|
217
175
|
end
|
176
|
+
|
177
|
+
desc "Create symlinks for the current deployment environment files"
|
178
|
+
task :symlink_env_files do
|
179
|
+
on roles(:app) do |host|
|
180
|
+
info "Creating symlinks for environment files..."
|
181
|
+
local_shared_files_path = PepprAppDeployFileUtils::Local::get_deployment_shared_files_dir
|
182
|
+
remote_shared_files_path = PepprAppDeployFileUtils::Remote::get_deployment_shared_files_dir
|
183
|
+
|
184
|
+
#this will only list the top-level folders and files, nested will show as a result of the link
|
185
|
+
if File.directory?(local_shared_files_path)
|
186
|
+
Dir.foreach(local_shared_files_path) do |file|
|
187
|
+
next if file == '.' || file == '..' || file == '.absolute_paths'
|
188
|
+
|
189
|
+
if File.directory?(file)
|
190
|
+
new_file_path = File.join(shared_path, file)
|
191
|
+
debug "Deleting existing environment file: #{new_file_path}"
|
192
|
+
sudo :rm, '-rf', new_file_path
|
193
|
+
|
194
|
+
debug "Creating a symlink for environment folder #{remote_shared_files_path}/#{file}..."
|
195
|
+
sudo :ln, '-sf', "#{remote_shared_files_path}/#{file}", "#{shared_path}"
|
196
|
+
else
|
197
|
+
new_file_path = File.join(shared_path, file)
|
198
|
+
debug "Deleting existing environment file: #{new_file_path}"
|
199
|
+
sudo :rm, '-rf', new_file_path
|
200
|
+
|
201
|
+
debug "Creating a symlink for environment file #{remote_shared_files_path}/#{file}..."
|
202
|
+
sudo :ln, '-sf', "#{remote_shared_files_path}/#{file}", "#{shared_path}/#{file}"
|
203
|
+
end
|
204
|
+
end
|
205
|
+
end
|
206
|
+
|
207
|
+
#absolute directories and files need to explicitly link files (can't just link to remote file folder)
|
208
|
+
if File.directory?("#{local_shared_files_path}/.absolute_paths")
|
209
|
+
files = Find.find(local_shared_files_path)
|
210
|
+
absolute_path_files, shared_files = files.partition { |f| f.start_with? "#{local_shared_files_path}/.absolute_paths" }
|
211
|
+
|
212
|
+
absolute_path_files.each do |file|
|
213
|
+
relative_path = file.gsub("#{local_shared_files_path}/.absolute_paths", '')
|
214
|
+
filename = Pathname.new(relative_path).basename
|
215
|
+
|
216
|
+
if File.directory?(file) && relative_path.strip != ''
|
217
|
+
#we need to create the directories because symlinks don't created nested folders
|
218
|
+
execute :mkdir, '-p', relative_path
|
219
|
+
elsif relative_path.gsub(/\s+/, '') != '' and relative_path != '.' and relative_path != '..'
|
220
|
+
original_location = File.join(remote_shared_files_path, ".absolute_paths", relative_path)
|
221
|
+
debug "Creating a symlink from environment file #{original_location} to #{relative_path}..."
|
222
|
+
sudo :ln, '-sf', original_location, relative_path
|
223
|
+
end
|
224
|
+
end
|
225
|
+
end
|
226
|
+
end
|
227
|
+
end
|
228
|
+
#Need to create symlinks after the Capistrano directory structure exists, but before the Capistrano shared
|
229
|
+
#symlinks are created
|
230
|
+
#(https://github.com/capistrano/capistrano/blob/6353a02ed63dfe7f16921650e3b6e6d6317f0711/lib/capistrano/tasks/deploy.rake)
|
231
|
+
after 'deploy:check:directories', 'psw_peppr_app_deploy:symlink_env_files'
|
232
|
+
|
218
233
|
end
|
@@ -2,6 +2,15 @@ require "rake"
|
|
2
2
|
require File.expand_path('../spec_helper.rb', __FILE__)
|
3
3
|
|
4
4
|
|
5
|
+
namespace :check do
|
6
|
+
desc 'Check shared and release directories exist'
|
7
|
+
task :directories do
|
8
|
+
on release_roles :all do
|
9
|
+
execute :mkdir, '-pv', shared_path, releases_path
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
5
14
|
describe "psw_peppr_app_deploy:" do
|
6
15
|
describe "create_deployment_directories" do
|
7
16
|
let(:rake) { Rake::Application.new }
|
@@ -9,6 +18,8 @@ describe "psw_peppr_app_deploy:" do
|
|
9
18
|
|
10
19
|
before do
|
11
20
|
Rake.application = rake
|
21
|
+
Rake::Task.define_task('deploy:check:directories')
|
22
|
+
|
12
23
|
Rake.application.add_import("./resources/lib/capistrano/tasks/psw-peppr-app-deploy.cap")
|
13
24
|
Rake.application.load_imports()
|
14
25
|
end
|
@@ -24,6 +35,7 @@ describe "psw_peppr_app_deploy:" do
|
|
24
35
|
|
25
36
|
before do
|
26
37
|
Rake.application = rake
|
38
|
+
Rake::Task.define_task('deploy:check:directories')
|
27
39
|
Rake.application.add_import("./resources/lib/capistrano/tasks/psw-peppr-app-deploy.cap")
|
28
40
|
Rake.application.load_imports()
|
29
41
|
end
|
@@ -39,6 +51,7 @@ describe "psw_peppr_app_deploy:" do
|
|
39
51
|
|
40
52
|
before do
|
41
53
|
Rake.application = rake
|
54
|
+
Rake::Task.define_task('deploy:check:directories')
|
42
55
|
Rake.application.add_import("./resources/lib/capistrano/tasks/psw-peppr-app-deploy.cap")
|
43
56
|
Rake.application.load_imports()
|
44
57
|
end
|
data/spec/spec_helper.rb
CHANGED