dkdeploy-core 9.0.0 → 9.3.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 +5 -5
- data/.rubocop.yml +36 -8
- data/.travis.yml +7 -5
- data/Berksfile +2 -0
- data/Berksfile.lock +36 -35
- data/CHANGELOG.md +48 -1
- data/CONTRIBUTORS.md +3 -0
- data/Gemfile +2 -0
- data/LICENSE +1 -1
- data/README.md +11 -12
- data/Rakefile +2 -0
- data/Vagrantfile +14 -14
- data/config/vm/cookbooks/dkdeploy-core/metadata.rb +4 -4
- data/config/vm/cookbooks/dkdeploy-core/recipes/default.rb +11 -13
- data/dkdeploy-core.gemspec +13 -11
- data/features/assets.feature +0 -1
- data/features/file_access.feature +2 -2
- data/features/mysql.feature +2 -2
- data/features/support/env.rb +4 -2
- data/features/utils.feature +3 -3
- data/lib/capistrano/dkdeploy/core.rb +14 -17
- data/lib/dkdeploy.rb +2 -0
- data/lib/dkdeploy/constants.rb +2 -0
- data/lib/dkdeploy/core/version.rb +3 -1
- data/lib/dkdeploy/dsl.rb +4 -3
- data/lib/dkdeploy/helpers/assets.rb +2 -0
- data/lib/dkdeploy/helpers/common.rb +2 -0
- data/lib/dkdeploy/helpers/db.rb +7 -5
- data/lib/dkdeploy/helpers/file_system.rb +7 -12
- data/lib/dkdeploy/helpers/mysql.rb +3 -0
- data/lib/dkdeploy/i18n.rb +3 -12
- data/lib/dkdeploy/interaction_handler/mysql.rb +4 -1
- data/lib/dkdeploy/interaction_handler/password.rb +3 -1
- data/lib/dkdeploy/rollback_manager.rb +2 -0
- data/lib/dkdeploy/scm/copy.rake +39 -12
- data/lib/dkdeploy/scm/copy.rb +7 -45
- data/lib/dkdeploy/tasks/apache.rake +2 -0
- data/lib/dkdeploy/tasks/assets.rake +3 -1
- data/lib/dkdeploy/tasks/current_folder.rake +3 -1
- data/lib/dkdeploy/tasks/db.rake +138 -154
- data/lib/dkdeploy/tasks/deploy.rake +5 -3
- data/lib/dkdeploy/tasks/enhanced_symlinks.rake +7 -0
- data/lib/dkdeploy/tasks/fail.rake +2 -0
- data/lib/dkdeploy/tasks/file_access.rake +2 -0
- data/lib/dkdeploy/tasks/maintenance.rake +4 -3
- data/lib/dkdeploy/tasks/mysql.rake +5 -0
- data/lib/dkdeploy/tasks/project_version.rake +3 -3
- data/lib/dkdeploy/tasks/utils.rake +2 -0
- data/spec/fixtures/application/Capfile +2 -0
- data/spec/fixtures/application/Gemfile +3 -1
- data/spec/fixtures/application/config/deploy.rb +25 -23
- data/spec/fixtures/application/config/deploy/dev.rb +3 -1
- data/spec/fixtures/capistrano/configuration/add_output_after_create_symlink.rb +1 -0
- data/spec/fixtures/capistrano/configuration/custom_compass_sources.rb +2 -0
- data/spec/fixtures/capistrano/configuration/custom_file_access.rb +2 -0
- data/spec/fixtures/capistrano/configuration/default_deployment_behaviour.rb +2 -0
- metadata +40 -47
- data/features/bower.feature +0 -52
- data/lib/capistrano/copy.rb +0 -2
- data/lib/dkdeploy/tasks/bower.rake +0 -53
- data/spec/fixtures/application/htdocs/bower.json +0 -15
data/lib/dkdeploy/scm/copy.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'tmpdir'
|
2
4
|
require 'capistrano/scm/plugin'
|
3
5
|
require 'capistrano/i18n'
|
@@ -25,6 +27,8 @@ module Dkdeploy
|
|
25
27
|
'Thumbs.db',
|
26
28
|
'composer.lock'
|
27
29
|
]
|
30
|
+
set_if_empty :copy_archive_filename, -> { [fetch(:application), rand(0x100000000).to_s(36)].join('_') + '.tar.gz' }
|
31
|
+
set_if_empty :copy_local_tmp_dir, Dir.mktmpdir
|
28
32
|
end
|
29
33
|
|
30
34
|
def register_hooks
|
@@ -34,51 +38,9 @@ module Dkdeploy
|
|
34
38
|
end
|
35
39
|
|
36
40
|
def define_tasks
|
37
|
-
eval_rakefile
|
38
|
-
|
39
|
-
|
40
|
-
# Archive filename as singleton
|
41
|
-
# Note: if the archive filename doesn't already exist it will be generated
|
42
|
-
#
|
43
|
-
# @return [String]
|
44
|
-
def archive_filename
|
45
|
-
@archive_filename ||= Dir::Tmpname.make_tmpname [application + '_', '.tar.gz'], nil
|
46
|
-
end
|
47
|
-
|
48
|
-
# Local temporary directory path as singleton
|
49
|
-
# Note: if the directory doesn't already exist it will be created
|
50
|
-
#
|
51
|
-
# @return [String]
|
52
|
-
def local_tmp_dir
|
53
|
-
@local_tmp_dir ||= Dir.mktmpdir
|
54
|
-
end
|
55
|
-
|
56
|
-
# Archive path in a local temporary directory
|
57
|
-
#
|
58
|
-
# @return [String]
|
59
|
-
def local_exclude_path
|
60
|
-
File.join local_tmp_dir, 'exclude.txt'
|
61
|
-
end
|
62
|
-
|
63
|
-
# Archive path in a local temporary directory
|
64
|
-
#
|
65
|
-
# @return [String]
|
66
|
-
def local_archive_path
|
67
|
-
File.join local_tmp_dir, archive_filename
|
68
|
-
end
|
69
|
-
|
70
|
-
# Remote temporary directory path
|
71
|
-
#
|
72
|
-
# @return [String]
|
73
|
-
def remote_tmp_dir
|
74
|
-
File.join fetch(:tmp_dir), application
|
75
|
-
end
|
76
|
-
|
77
|
-
# Archive path in a remote temporary directory
|
78
|
-
#
|
79
|
-
# @return [String]
|
80
|
-
def remote_archive_path
|
81
|
-
File.join remote_tmp_dir, archive_filename
|
41
|
+
# Don not use method "eval_rakefile" to load rake tasks.
|
42
|
+
# "eval_rakefile" defined wrong context and use sskit dsl api instead of capistrano dsl.
|
43
|
+
load File.expand_path('copy.rake', __dir__)
|
82
44
|
end
|
83
45
|
end
|
84
46
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'i18n'
|
2
4
|
require 'dkdeploy/i18n'
|
3
5
|
require 'dkdeploy/helpers/common'
|
@@ -44,7 +46,7 @@ namespace :assets do
|
|
44
46
|
on release_roles :web do
|
45
47
|
info I18n.t('directory.create', scope: :dkdeploy)
|
46
48
|
execute :mkdir, '-p', shared_path
|
47
|
-
execute :htpasswd, '-c', htpasswd_path, username, interaction_handler:
|
49
|
+
execute :htpasswd, '-c', htpasswd_path, username, interaction_handler: { /.*password.*/i => "#{password}\n" }
|
48
50
|
info I18n.t('tasks.assets.add_htpasswd.successfully_created', scope: :dkdeploy)
|
49
51
|
end
|
50
52
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
include Capistrano::DSL
|
2
4
|
|
3
5
|
require 'dkdeploy/i18n'
|
@@ -6,7 +8,7 @@ namespace :current_folder do
|
|
6
8
|
desc "Delete current folder unless it's a symlink"
|
7
9
|
task :remove_unlesss_symlinked do
|
8
10
|
on release_roles :all do
|
9
|
-
if test "[
|
11
|
+
if test "[ -d #{current_path} ] && [ ! -L #{current_path} ]"
|
10
12
|
execute :rm, '-rf', current_path
|
11
13
|
else
|
12
14
|
info I18n.t('info.ignoring_current_folder', scope: :dkdeploy)
|
data/lib/dkdeploy/tasks/db.rake
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'dkdeploy/constants'
|
2
4
|
require 'dkdeploy/helpers/common'
|
3
5
|
require 'dkdeploy/helpers/db'
|
@@ -80,23 +82,21 @@ namespace :db do
|
|
80
82
|
end
|
81
83
|
|
82
84
|
on primary :backend do
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
execute :rm, '-f', remote_file_name
|
99
|
-
end
|
85
|
+
db_settings = read_db_settings_for_context(self)
|
86
|
+
execute :rm, '-f', remote_zipped_file_name
|
87
|
+
execute :rm, '-f', remote_file_name
|
88
|
+
upload! local_zipped_file_name, remote_zipped_file_name, via: :scp
|
89
|
+
execute :gunzip, remote_zipped_file_name
|
90
|
+
execute :mysql,
|
91
|
+
"--default-character-set=#{db_settings.fetch('charset')}",
|
92
|
+
'-u', db_settings.fetch('username'),
|
93
|
+
'-p',
|
94
|
+
'-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), db_settings.fetch('name'),
|
95
|
+
'-e', "'source #{remote_file_name}'",
|
96
|
+
interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
|
97
|
+
ensure
|
98
|
+
execute :rm, '-f', remote_zipped_file_name
|
99
|
+
execute :rm, '-f', remote_file_name
|
100
100
|
end
|
101
101
|
end
|
102
102
|
|
@@ -110,24 +110,22 @@ namespace :db do
|
|
110
110
|
remote_zipped_dump_file = "#{remote_dump_file}.gz"
|
111
111
|
|
112
112
|
on primary :backend do
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
execute :rm, '-f', remote_zipped_dump_file
|
130
|
-
end
|
113
|
+
db_settings = read_db_settings_for_context(self)
|
114
|
+
execute :rm, '-f', remote_dump_file
|
115
|
+
execute :rm, '-f', remote_zipped_dump_file
|
116
|
+
execute :mysqldump,
|
117
|
+
'--no-data', '--skip-set-charset',
|
118
|
+
"--default-character-set=#{db_settings.fetch('charset')}",
|
119
|
+
'-u', db_settings.fetch('username'),
|
120
|
+
'-p',
|
121
|
+
'-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), db_settings.fetch('name'),
|
122
|
+
'>', remote_dump_file,
|
123
|
+
interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
|
124
|
+
execute :gzip, remote_dump_file
|
125
|
+
download! remote_zipped_dump_file, 'temp', via: :scp
|
126
|
+
ensure
|
127
|
+
execute :rm, '-f', remote_dump_file
|
128
|
+
execute :rm, '-f', remote_zipped_dump_file
|
131
129
|
end
|
132
130
|
end
|
133
131
|
|
@@ -138,29 +136,27 @@ namespace :db do
|
|
138
136
|
remote_zipped_dump_file = "#{remote_dump_file}.gz"
|
139
137
|
|
140
138
|
on primary :backend do
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
execute :rm, '-f', remote_zipped_dump_file
|
139
|
+
db_settings = read_db_settings_for_context(self)
|
140
|
+
execute :rm, '-f', remote_dump_file
|
141
|
+
execute :rm, '-f', remote_zipped_dump_file
|
145
142
|
|
146
|
-
|
147
|
-
|
148
|
-
end
|
149
|
-
|
150
|
-
execute :mysqldump,
|
151
|
-
"--default-character-set=#{db_settings.fetch('charset')}",
|
152
|
-
'--skip-set-charset',
|
153
|
-
'-u', db_settings.fetch('username'),
|
154
|
-
'-p',
|
155
|
-
'-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), ignore_tables_command_line, db_settings.fetch('name'),
|
156
|
-
'>', remote_dump_file,
|
157
|
-
interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
|
158
|
-
execute :gzip, remote_dump_file
|
159
|
-
download! remote_zipped_dump_file, 'temp', via: :scp
|
160
|
-
ensure
|
161
|
-
execute :rm, '-f', remote_dump_file
|
162
|
-
execute :rm, '-f', remote_zipped_dump_file
|
143
|
+
ignore_tables_command_line = ignore_tables.inject('') do |command_line, table|
|
144
|
+
command_line + " --ignore-table=#{db_settings.fetch('name')}.#{table}"
|
163
145
|
end
|
146
|
+
|
147
|
+
execute :mysqldump,
|
148
|
+
"--default-character-set=#{db_settings.fetch('charset')}",
|
149
|
+
'--skip-set-charset',
|
150
|
+
'-u', db_settings.fetch('username'),
|
151
|
+
'-p',
|
152
|
+
'-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), ignore_tables_command_line, db_settings.fetch('name'),
|
153
|
+
'>', remote_dump_file,
|
154
|
+
interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
|
155
|
+
execute :gzip, remote_dump_file
|
156
|
+
download! remote_zipped_dump_file, 'temp', via: :scp
|
157
|
+
ensure
|
158
|
+
execute :rm, '-f', remote_dump_file
|
159
|
+
execute :rm, '-f', remote_zipped_dump_file
|
164
160
|
end
|
165
161
|
end
|
166
162
|
|
@@ -174,24 +170,22 @@ namespace :db do
|
|
174
170
|
remote_zipped_dump_file = "#{remote_dump_file}.gz"
|
175
171
|
|
176
172
|
on primary :backend do
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
execute :rm, '-f', remote_zipped_dump_file
|
194
|
-
end
|
173
|
+
db_settings = read_db_settings_for_context(self)
|
174
|
+
execute :rm, '-f', remote_dump_file
|
175
|
+
execute :rm, '-f', remote_zipped_dump_file
|
176
|
+
execute :mysqldump,
|
177
|
+
'--no-data', '--skip-set-charset',
|
178
|
+
"--default-character-set=#{db_settings.fetch('charset')}",
|
179
|
+
'-u', db_settings.fetch('username'),
|
180
|
+
'-p',
|
181
|
+
'-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), db_settings.fetch('name'), table_name,
|
182
|
+
'>', remote_dump_file,
|
183
|
+
interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
|
184
|
+
execute :gzip, remote_dump_file
|
185
|
+
download! remote_zipped_dump_file, zipped_dump_file, via: :scp
|
186
|
+
ensure
|
187
|
+
execute :rm, '-f', remote_dump_file
|
188
|
+
execute :rm, '-f', remote_zipped_dump_file
|
195
189
|
end
|
196
190
|
end
|
197
191
|
|
@@ -209,27 +203,25 @@ namespace :db do
|
|
209
203
|
FileUtils.mkdir_p file_path
|
210
204
|
|
211
205
|
on primary :backend do
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
execute :rm, '-f', remote_zipped_file
|
232
|
-
end
|
206
|
+
db_settings = read_db_settings_for_context(self)
|
207
|
+
execute :rm, '-f', remote_file_name
|
208
|
+
execute :rm, '-f', remote_zipped_file
|
209
|
+
execute :mysqldump,
|
210
|
+
'--no-data', '--skip-set-charset',
|
211
|
+
'--no-create-info', '--skip-comments',
|
212
|
+
'--skip-extended-insert', '--skip-set-charset',
|
213
|
+
"--default-character-set=#{db_settings.fetch('charset')}",
|
214
|
+
'-u', db_settings.fetch('username'),
|
215
|
+
'-p',
|
216
|
+
'-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'),
|
217
|
+
db_settings.fetch('name'), table_names.join(' '),
|
218
|
+
'>', remote_file_name,
|
219
|
+
interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
|
220
|
+
execute :gzip, remote_file_name
|
221
|
+
download! remote_zipped_file, local_zipped_file, via: :scp
|
222
|
+
ensure
|
223
|
+
execute :rm, '-f', remote_file_name
|
224
|
+
execute :rm, '-f', remote_zipped_file
|
233
225
|
end
|
234
226
|
|
235
227
|
run_locally do
|
@@ -244,23 +236,21 @@ namespace :db do
|
|
244
236
|
remote_zipped_default_content_file = "#{remote_default_content_file}.gz"
|
245
237
|
|
246
238
|
on primary :backend do
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
execute :rm, '-f', remote_zipped_default_content_file
|
263
|
-
end
|
239
|
+
db_settings = read_db_settings_for_context(self)
|
240
|
+
execute :rm, '-f', remote_default_content_file
|
241
|
+
execute :rm, '-f', remote_zipped_default_content_file
|
242
|
+
upload! local_zipped_default_content_file, remote_zipped_default_content_file, via: :scp
|
243
|
+
execute :gunzip, remote_zipped_default_content_file
|
244
|
+
execute :mysql,
|
245
|
+
"--default-character-set=#{db_settings.fetch('charset')}",
|
246
|
+
'-u', db_settings.fetch('username'),
|
247
|
+
'-p',
|
248
|
+
'-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), db_settings.fetch('name'),
|
249
|
+
'-e', "'source #{remote_default_content_file}'",
|
250
|
+
interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
|
251
|
+
ensure
|
252
|
+
execute :rm, '-f', remote_default_content_file
|
253
|
+
execute :rm, '-f', remote_zipped_default_content_file
|
264
254
|
end
|
265
255
|
end
|
266
256
|
|
@@ -271,22 +261,20 @@ namespace :db do
|
|
271
261
|
remote_zipped_default_structure_file = "#{remote_default_structure_file}.gz"
|
272
262
|
|
273
263
|
on primary :backend do
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
execute :rm, '-f', remote_zipped_default_structure_file
|
289
|
-
end
|
264
|
+
db_settings = read_db_settings_for_context(self)
|
265
|
+
execute :rm, '-f', remote_default_structure_file
|
266
|
+
execute :rm, '-f', remote_zipped_default_structure_file
|
267
|
+
upload! local_zipped_default_structure_file, remote_zipped_default_structure_file, via: :scp
|
268
|
+
execute :gunzip, remote_zipped_default_structure_file
|
269
|
+
execute :mysql,
|
270
|
+
"--default-character-set=#{db_settings.fetch('charset')}",
|
271
|
+
'-u', db_settings.fetch('username'), '-p',
|
272
|
+
'-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), db_settings.fetch('name'),
|
273
|
+
'-e', "'source #{remote_default_structure_file}'",
|
274
|
+
interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
|
275
|
+
ensure
|
276
|
+
execute :rm, '-f', remote_default_structure_file
|
277
|
+
execute :rm, '-f', remote_zipped_default_structure_file
|
290
278
|
end
|
291
279
|
end
|
292
280
|
|
@@ -305,27 +293,25 @@ namespace :db do
|
|
305
293
|
local_zipped_file = "#{local_file_name}.gz"
|
306
294
|
|
307
295
|
on primary :backend do
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
execute :rm, '-f', remote_zipped_file
|
328
|
-
end
|
296
|
+
db_settings = read_db_settings_for_context(self)
|
297
|
+
execute :rm, '-f', remote_file_name
|
298
|
+
execute :rm, '-f', remote_zipped_file
|
299
|
+
execute :mysqldump,
|
300
|
+
"--default-character-set=#{db_settings.fetch('charset')}",
|
301
|
+
'--no-create-info', '--skip-comments',
|
302
|
+
'--skip-extended-insert', '--skip-set-charset',
|
303
|
+
'--complete-insert',
|
304
|
+
'-u', db_settings.fetch('username'),
|
305
|
+
'-p',
|
306
|
+
'-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'),
|
307
|
+
db_settings.fetch('name'), table_names,
|
308
|
+
'>', remote_file_name,
|
309
|
+
interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
|
310
|
+
execute :gzip, remote_file_name
|
311
|
+
download! remote_zipped_file, local_zipped_file, via: :scp
|
312
|
+
ensure
|
313
|
+
execute :rm, '-f', remote_file_name
|
314
|
+
execute :rm, '-f', remote_zipped_file
|
329
315
|
end
|
330
316
|
|
331
317
|
run_locally do
|
@@ -363,9 +349,7 @@ namespace :db do
|
|
363
349
|
|
364
350
|
remote_md5 = '' # to allow assignment in block and later comparison
|
365
351
|
on primary :backend do
|
366
|
-
if test("[ -f #{remote_dump_md5_file} ]")
|
367
|
-
remote_md5 = capture("cat #{remote_dump_md5_file}")
|
368
|
-
end
|
352
|
+
remote_md5 = capture("cat #{remote_dump_md5_file}") if test("[ -f #{remote_dump_md5_file} ]")
|
369
353
|
end
|
370
354
|
|
371
355
|
run_locally do
|
@@ -392,14 +376,14 @@ namespace :db do
|
|
392
376
|
'-e', "'source #{remote_dump_file}'",
|
393
377
|
interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
|
394
378
|
end
|
395
|
-
rescue SSHKit::Command::Failed =>
|
379
|
+
rescue SSHKit::Command::Failed => e
|
396
380
|
run_locally do
|
397
381
|
error "Removing #{remote_dump_file} and #{remote_dump_md5_file}"
|
398
382
|
execute :rm, '-f', remote_dump_md5_file
|
399
383
|
execute :rm, '-f', remote_dump_file
|
400
384
|
end
|
401
385
|
task.reenable
|
402
|
-
raise "upload_tables failed: #{
|
386
|
+
raise "upload_tables failed: #{e.message}"
|
403
387
|
end
|
404
388
|
end
|
405
389
|
end
|