dkdeploy-core 9.2.2 → 10.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 975be721872df804b63245d574ee7f8c0c52a04479b44f2dc75bc33c2839cf68
4
- data.tar.gz: 439049a3e552f4fb6d2dc783a2e0876db7564c5debd58394cb701614222a1911
3
+ metadata.gz: 6acb8c40708bb112f7b08cb5d00f26aa55c389a1fc556bcbafc73ab2a1b708f5
4
+ data.tar.gz: 5cb62f436995e877ae4892ea96bd6452aa382695a1962b9e4521675d2a44f8e4
5
5
  SHA512:
6
- metadata.gz: 4fab2c04628bf881b7148a2de2932295786117dcfa7a5f3a19b7eee2e84f9700b6ec4e5d297603ec7dcf822ca331b1671bdbf92131f8100f01880a7c44a5a68e
7
- data.tar.gz: cb26f718408624b56b744f6948a658ae4d339759b66744b36e64e596dbc2568142c8748be12f98453eb67123b5a74e45939ee39eedc682432e6b870a6734994d
6
+ metadata.gz: 6cab72a5a1ec9750b09794cdb8a42f779139855f9888370aec8c874db5f23d5cf911ad7dcb2db223f9146db420f52d694bc23c043b306928efcc78128b42aab3
7
+ data.tar.gz: 60d480c68407d803c889529ec07309f848b2b7f54e9fd27e8176a4c5e11777347d201c86a6cff90f18ad83c7ae3cb33942c5b9ca93d15cb596b4e6b004baca6f
data/.rubocop.yml CHANGED
@@ -5,21 +5,19 @@ AllCops:
5
5
  - 'config/**/*'
6
6
  - 'Vagrantfile'
7
7
  - 'vendor/**/*'
8
- TargetRubyVersion: 2.3
8
+ TargetRubyVersion: 2.7
9
9
  ExtraDetails: true
10
10
  DisplayStyleGuide: true
11
11
  DisplayCopNames: true
12
- GlobalVars:
12
+ Style/GlobalVars:
13
13
  AllowedVariables: []
14
- MethodLength:
14
+ Metrics/MethodLength:
15
15
  Max: 25
16
- LineLength:
16
+ Layout/LineLength:
17
17
  Max: 200
18
- SpecialGlobalVars:
18
+ Style/SpecialGlobalVars:
19
19
  Enabled: false
20
- BracesAroundHashParameters:
21
- Enabled: false
22
- CyclomaticComplexity:
20
+ Metrics/CyclomaticComplexity:
23
21
  Max: 10
24
22
  Metrics/BlockLength:
25
23
  Enabled: false
@@ -27,3 +25,31 @@ Style/FormatStringToken:
27
25
  Enabled: false
28
26
  Style/MixinUsage:
29
27
  Enabled: false
28
+ Layout/EmptyLinesAroundAttributeAccessor:
29
+ Enabled: true
30
+ Layout/SpaceAroundMethodCallOperator:
31
+ Enabled: true
32
+ Lint/DeprecatedOpenSSLConstant:
33
+ Enabled: true
34
+ Lint/MixedRegexpCaptureTypes:
35
+ Enabled: true
36
+ Lint/RaiseException:
37
+ Enabled: true
38
+ Lint/StructNewOverride:
39
+ Enabled: true
40
+ Style/ExponentialNotation:
41
+ Enabled: true
42
+ Style/HashEachMethods:
43
+ Enabled: true
44
+ Style/HashTransformKeys:
45
+ Enabled: true
46
+ Style/HashTransformValues:
47
+ Enabled: true
48
+ Style/RedundantFetchBlock:
49
+ Enabled: true
50
+ Style/RedundantRegexpCharacterClass:
51
+ Enabled: true
52
+ Style/RedundantRegexpEscape:
53
+ Enabled: true
54
+ Style/SlicingWithRange:
55
+ Enabled: true
data/.travis.yml CHANGED
@@ -2,13 +2,14 @@ sudo: false
2
2
  language: ruby
3
3
  cache: bundler
4
4
  rvm:
5
- - 2.3
6
- - 2.4
7
5
  - 2.5
8
6
  - 2.6
7
+ - 2.7
9
8
 
10
9
  before_install:
11
- - gem install bundler --no-document
10
+ - gem install bundler --no-doc
11
+ - gem install bundler-audit --no-doc
12
12
 
13
13
  script:
14
- - bundle exec rubocop
14
+ - bundle-audit check --update
15
+ - bundle exec rubocop --display-cop-names --extra-details
data/CHANGELOG.md CHANGED
@@ -2,10 +2,42 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
  This project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
+ ## [10.0.0] - 2021-03-30
6
+ ### Summary
7
+
8
+ - relaxed and updated gem dependencies
9
+
10
+ ## [9.3.1] - 2020-08-20
11
+ ### Summary
12
+
13
+ - use --no-tablespaces with mysqldump
14
+
15
+ ## [9.3.0] - 2020-07-06
16
+ ### Summary
17
+
18
+ - Update gem `capistrano` to 3.14.x
19
+ - Update gem `highline` to 2.0.x
20
+ - Update gem 'aruba' to 1.0.x
21
+ - Test ruby 2.7 via travis
22
+ - Requires Ruby v2.5 or later
23
+
24
+ ## [9.2.4] - 2020-08-20
25
+ ### Summary
26
+
27
+ - use --no-tablespaces with mysqldump
28
+
29
+ ## [9.2.3] - 2019-05-29
30
+ ### Summary
31
+
32
+ - Remove frozen string error
33
+ - Update interaction handler for new `htpasswd` versions
34
+ - Use correct test statement for task "remove_unless_symlinked"
35
+
5
36
  ## [9.2.2] - 2019-02-18
37
+ ### Summary
6
38
 
7
39
  - run tests and linter against Ruby 2.3
8
- - fixed bug in clean_up_temporary_sources
40
+ - fixed bug in clean_up_temporary_sources
9
41
 
10
42
  ## [9.2.1] - 2019-12-06
11
43
  ### Summary
@@ -21,6 +53,11 @@ This project adheres to [Semantic Versioning](http://semver.org/).
21
53
  - we no longer remove maintenance_config_file_path forcefully to make failures more apparent
22
54
  - improved shell independence
23
55
 
56
+ ## [9.1.1] - 2020-08-20
57
+ ### Summary
58
+
59
+ - use --no-tablespaces with mysqldump
60
+
24
61
  ## [9.1.0] - 2018-02-09
25
62
  ### Summary
26
63
 
@@ -28,6 +65,11 @@ This project adheres to [Semantic Versioning](http://semver.org/).
28
65
  - Update capistrano 3.10.1
29
66
  - Always execute tasks for each server or at rollback
30
67
 
68
+ ## [9.0.1] - 2020-08-20
69
+ ### Summary
70
+
71
+ - use --no-tablespaces with mysqldump
72
+
31
73
  ## [9.0.0] 2017-10-16
32
74
  ### Summary
33
75
 
@@ -48,6 +90,11 @@ This project adheres to [Semantic Versioning](http://semver.org/).
48
90
  - remove TYPO3 specific configuration
49
91
  - change some SCM roles from app to all
50
92
 
93
+ ## [8.0.2] - 2020-08-20
94
+ ### Summary
95
+
96
+ - use --no-tablespaces with mysqldump
97
+
51
98
  ## [8.0.1] - 2017-05-15
52
99
  ### Summary
53
100
 
@@ -59,10 +106,17 @@ This project adheres to [Semantic Versioning](http://semver.org/).
59
106
  - first public release
60
107
 
61
108
  [Unreleased]: https://github.com/dkdeploy/dkdeploy-core/compare/master...develop
109
+ [9.3.1]: https://github.com/dkdeploy/dkdeploy-core/releases/tag/v9.3.1
110
+ [9.3.0]: https://github.com/dkdeploy/dkdeploy-core/releases/tag/v9.3.0
111
+ [9.2.4]: https://github.com/dkdeploy/dkdeploy-core/releases/tag/v9.2.4
112
+ [9.2.3]: https://github.com/dkdeploy/dkdeploy-core/releases/tag/v9.2.3
62
113
  [9.2.2]: https://github.com/dkdeploy/dkdeploy-core/releases/tag/v9.2.2
63
114
  [9.2.1]: https://github.com/dkdeploy/dkdeploy-core/releases/tag/v9.2.1
64
115
  [9.2.0]: https://github.com/dkdeploy/dkdeploy-core/releases/tag/v9.2.0
116
+ [9.1.1]: https://github.com/dkdeploy/dkdeploy-core/releases/tag/v9.1.1
65
117
  [9.1.0]: https://github.com/dkdeploy/dkdeploy-core/releases/tag/v9.1.0
118
+ [9.0.1]: https://github.com/dkdeploy/dkdeploy-core/releases/tag/v9.0.1
66
119
  [9.0.0]: https://github.com/dkdeploy/dkdeploy-core/releases/tag/v9.0.0
120
+ [8.0.2]: https://github.com/dkdeploy/dkdeploy-core/releases/tag/v8.0.2
67
121
  [8.0.1]: https://github.com/dkdeploy/dkdeploy-core/releases/tag/v8.0.1
68
122
  [8.0.0]: https://github.com/dkdeploy/dkdeploy-core/releases/tag/v8.0.0
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014-2018 dkd Internet Service GmbH, Frankfurt am Main (Germany), https://dkd.de/
1
+ Copyright (c) 2014-2021 dkd Internet Service GmbH, Frankfurt am Main (Germany), https://dkd.de/
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
4
 
data/README.md CHANGED
@@ -13,7 +13,7 @@ This Rubygem `dkdeploy-core` represents the extension of [Capistrano](http://cap
13
13
 
14
14
  Add this line to your application's `Gemfile`
15
15
 
16
- gem 'dkdeploy-core', '~> 9.2'
16
+ gem 'dkdeploy-core', '~> 10.0'
17
17
 
18
18
  and then execute
19
19
 
@@ -64,7 +64,7 @@ The complete list of the dkdeploy constants you find in `/lib/capistrano/dkdeplo
64
64
 
65
65
  ### Prerequisite
66
66
 
67
- rvm (v1.29.x) with installed Ruby 2.2.
67
+ rvm (v1.29.x) with installed Ruby 2.2 or newer.
68
68
 
69
69
  Add the virtual box alias to your `hosts` file
70
70
 
@@ -74,7 +74,7 @@ Add the virtual box alias to your `hosts` file
74
74
 
75
75
  1. Starting the local box (`vagrant up --provision`)
76
76
  2. Checking coding styles (`rubocop`)
77
- 3. Running BDD cucumber tests (`cucumber`)
77
+ 3. Running BDD cucumber tests (`BUNDLER_VERSION=2.1.4 cucumber`)
78
78
 
79
79
  ## Contributing
80
80
 
@@ -84,7 +84,7 @@ Add the virtual box alias to your `hosts` file
84
84
  4. If project is not checked out already do git clone `git@github.com:dkdeploy/dkdeploy-core.git`
85
85
  5. Checkout origin develop branch (`git checkout --track -b develop origin/develop`)
86
86
  6. Git flow initialze `git flow init -d`
87
- 7. Installing gems `bundle install`
87
+ 7. Installing gems `BUNDLER_VERSION=1.17.3 bundle install`
88
88
  8. Create new feature branch (`git flow feature start my-new-feature`)
89
89
  9. Run tests (README.md Testing)
90
90
  10. Commit your changes (`git commit -am 'Add some feature'`)
data/Vagrantfile CHANGED
@@ -19,6 +19,7 @@ Vagrant.configure(2) do |config|
19
19
 
20
20
  config.vm.define('dkdeploy-core', primary: true) do |master_config|
21
21
  master_config.vm.network 'private_network', ip: ip_address
22
+ master_config.vm.hostname = domain
22
23
 
23
24
  # Chef settings
24
25
  master_config.vm.provision :chef_solo do |chef|
@@ -41,14 +42,12 @@ Vagrant.configure(2) do |config|
41
42
  '--audio', 'none'
42
43
  ]
43
44
  end
44
- end
45
45
 
46
- if Vagrant.has_plugin?('landrush')
47
- config.landrush.enabled = true
48
- config.landrush.guest_redirect_dns = false
49
- config.landrush.tld = 'dev'
50
- config.landrush.host domain, ip_address
51
- else
52
- config.vm.post_up_message = "Either install Vagrant plugin 'landrush' or add this entry to your host file: #{ip_address} #{domain}"
46
+ unless Vagrant.has_plugin?('vagrant-hostsupdater')
47
+ master_config.vm.post_up_message = <<-HEREDOC
48
+ Add following entries to your host file or install vagrant plugin vagrant-hostsupdater ("vagrant plugin install vagrant-hostsupdater") and restart virtual box
49
+ #{ip_address} #{domain}
50
+ HEREDOC
51
+ end
53
52
  end
54
53
  end
@@ -13,23 +13,23 @@ Gem::Specification.new do |spec|
13
13
  spec.description = 'dkd basic deployment tasks and strategies'
14
14
  spec.summary = 'dkd basic deployment tasks and strategies'
15
15
  spec.homepage = 'https://github.com/dkdeploy/dkdeploy-core'
16
- spec.required_ruby_version = '~> 2.3'
16
+ spec.required_ruby_version = '~> 2.7'
17
17
 
18
18
  spec.files = `git ls-files`.split($/)
19
- spec.executables = spec.files.grep(%r{^bin\/}) { |f| File.basename(f) }
20
- spec.test_files = spec.files.grep(%r{^(test|spec|features)\/})
19
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
20
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
21
21
  spec.require_paths = ['lib']
22
22
 
23
- spec.add_development_dependency 'aruba', '~> 0.14.1'
23
+ spec.add_development_dependency 'aruba', '~> 1.0'
24
24
  spec.add_development_dependency 'bundler'
25
- spec.add_development_dependency 'cucumber', '~> 2.4'
25
+ spec.add_development_dependency 'cucumber', '~> 5.3'
26
26
  spec.add_development_dependency 'dkdeploy-test_environment', '~> 2.0'
27
- spec.add_development_dependency 'mysql2', '~> 0.3'
27
+ spec.add_development_dependency 'mysql2', '~> 0.5'
28
28
  spec.add_development_dependency 'pry', '~> 0.10'
29
29
  spec.add_development_dependency 'rake'
30
30
  spec.add_development_dependency 'rspec', '~> 3.5'
31
- spec.add_development_dependency 'rubocop', '~> 0.62.0'
31
+ spec.add_development_dependency 'rubocop', '~> 1.12'
32
32
 
33
- spec.add_dependency 'capistrano', '~> 3.11.0'
34
- spec.add_dependency 'highline', '~> 1.7.1'
33
+ spec.add_dependency 'capistrano', '~> 3.16'
34
+ spec.add_dependency 'highline', '~> 2.0.3'
35
35
  end
@@ -5,9 +5,9 @@ module Dkdeploy
5
5
  # Class for version number
6
6
  #
7
7
  class Version
8
- MAJOR = 9
9
- MINOR = 2
10
- PATCH = 2
8
+ MAJOR = 10
9
+ MINOR = 0
10
+ PATCH = 0
11
11
 
12
12
  def self.to_s
13
13
  [MAJOR, MINOR, PATCH].join('.')
@@ -30,7 +30,7 @@ module Dkdeploy
30
30
  return raise 'Unexpected data from stream. Can not send password to undefined stream' unless @mysql_error_seen
31
31
 
32
32
  # combine the multiple lines from error message. The fact that the error message will be shown multiple times is simply ignored
33
- @return_message << data
33
+ @return_message += data
34
34
  message = 'Error on executing MySQL command! Response (error code) is: '
35
35
  SSHKit.config.output.send(:error, "#{message}\n #{@return_message}")
36
36
  raise 'InteractionHandler caught a MySQL error'
@@ -46,7 +46,7 @@ namespace :assets do
46
46
  on release_roles :web do
47
47
  info I18n.t('directory.create', scope: :dkdeploy)
48
48
  execute :mkdir, '-p', shared_path
49
- execute :htpasswd, '-c', htpasswd_path, username, interaction_handler: Dkdeploy::InteractionHandler::Password.new(password)
49
+ execute :htpasswd, '-c', htpasswd_path, username, interaction_handler: { /.*password.*/i => "#{password}\n" }
50
50
  info I18n.t('tasks.assets.add_htpasswd.successfully_created', scope: :dkdeploy)
51
51
  end
52
52
  end
@@ -8,7 +8,7 @@ namespace :current_folder do
8
8
  desc "Delete current folder unless it's a symlink"
9
9
  task :remove_unlesss_symlinked do
10
10
  on release_roles :all do
11
- if test "[ -d #{current_path} && ! -L #{current_path} ]"
11
+ if test "[ -d #{current_path} ] && [ ! -L #{current_path} ]"
12
12
  execute :rm, '-rf', current_path
13
13
  else
14
14
  info I18n.t('info.ignoring_current_folder', scope: :dkdeploy)
@@ -82,23 +82,21 @@ namespace :db do
82
82
  end
83
83
 
84
84
  on primary :backend do
85
- begin
86
- db_settings = read_db_settings_for_context(self)
87
- execute :rm, '-f', remote_zipped_file_name
88
- execute :rm, '-f', remote_file_name
89
- upload! local_zipped_file_name, remote_zipped_file_name, via: :scp
90
- execute :gunzip, remote_zipped_file_name
91
- execute :mysql,
92
- "--default-character-set=#{db_settings.fetch('charset')}",
93
- '-u', db_settings.fetch('username'),
94
- '-p',
95
- '-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), db_settings.fetch('name'),
96
- '-e', "'source #{remote_file_name}'",
97
- interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
98
- ensure
99
- execute :rm, '-f', remote_zipped_file_name
100
- execute :rm, '-f', remote_file_name
101
- 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
102
100
  end
103
101
  end
104
102
 
@@ -112,24 +110,22 @@ namespace :db do
112
110
  remote_zipped_dump_file = "#{remote_dump_file}.gz"
113
111
 
114
112
  on primary :backend do
115
- begin
116
- db_settings = read_db_settings_for_context(self)
117
- execute :rm, '-f', remote_dump_file
118
- execute :rm, '-f', remote_zipped_dump_file
119
- execute :mysqldump,
120
- '--no-data', '--skip-set-charset',
121
- "--default-character-set=#{db_settings.fetch('charset')}",
122
- '-u', db_settings.fetch('username'),
123
- '-p',
124
- '-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), db_settings.fetch('name'),
125
- '>', remote_dump_file,
126
- interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
127
- execute :gzip, remote_dump_file
128
- download! remote_zipped_dump_file, 'temp', via: :scp
129
- ensure
130
- execute :rm, '-f', remote_dump_file
131
- execute :rm, '-f', remote_zipped_dump_file
132
- 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', '--no-tablespaces',
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
133
129
  end
134
130
  end
135
131
 
@@ -140,29 +136,28 @@ namespace :db do
140
136
  remote_zipped_dump_file = "#{remote_dump_file}.gz"
141
137
 
142
138
  on primary :backend do
143
- begin
144
- db_settings = read_db_settings_for_context(self)
145
- execute :rm, '-f', remote_dump_file
146
- 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
147
142
 
148
- ignore_tables_command_line = ignore_tables.inject('') do |command_line, table|
149
- command_line << " --ignore-table=#{db_settings.fetch('name')}.#{table}"
150
- end
151
-
152
- execute :mysqldump,
153
- "--default-character-set=#{db_settings.fetch('charset')}",
154
- '--skip-set-charset',
155
- '-u', db_settings.fetch('username'),
156
- '-p',
157
- '-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), ignore_tables_command_line, db_settings.fetch('name'),
158
- '>', remote_dump_file,
159
- interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
160
- execute :gzip, remote_dump_file
161
- download! remote_zipped_dump_file, 'temp', via: :scp
162
- ensure
163
- execute :rm, '-f', remote_dump_file
164
- 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}"
165
145
  end
146
+
147
+ execute :mysqldump,
148
+ "--default-character-set=#{db_settings.fetch('charset')}",
149
+ '--skip-set-charset',
150
+ '--no-tablespaces',
151
+ '-u', db_settings.fetch('username'),
152
+ '-p',
153
+ '-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), ignore_tables_command_line, db_settings.fetch('name'),
154
+ '>', remote_dump_file,
155
+ interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
156
+ execute :gzip, remote_dump_file
157
+ download! remote_zipped_dump_file, 'temp', via: :scp
158
+ ensure
159
+ execute :rm, '-f', remote_dump_file
160
+ execute :rm, '-f', remote_zipped_dump_file
166
161
  end
167
162
  end
168
163
 
@@ -176,24 +171,22 @@ namespace :db do
176
171
  remote_zipped_dump_file = "#{remote_dump_file}.gz"
177
172
 
178
173
  on primary :backend do
179
- begin
180
- db_settings = read_db_settings_for_context(self)
181
- execute :rm, '-f', remote_dump_file
182
- execute :rm, '-f', remote_zipped_dump_file
183
- execute :mysqldump,
184
- '--no-data', '--skip-set-charset',
185
- "--default-character-set=#{db_settings.fetch('charset')}",
186
- '-u', db_settings.fetch('username'),
187
- '-p',
188
- '-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), db_settings.fetch('name'), table_name,
189
- '>', remote_dump_file,
190
- interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
191
- execute :gzip, remote_dump_file
192
- download! remote_zipped_dump_file, zipped_dump_file, via: :scp
193
- ensure
194
- execute :rm, '-f', remote_dump_file
195
- execute :rm, '-f', remote_zipped_dump_file
196
- end
174
+ db_settings = read_db_settings_for_context(self)
175
+ execute :rm, '-f', remote_dump_file
176
+ execute :rm, '-f', remote_zipped_dump_file
177
+ execute :mysqldump,
178
+ '--no-data', '--skip-set-charset', '--no-tablespaces',
179
+ "--default-character-set=#{db_settings.fetch('charset')}",
180
+ '-u', db_settings.fetch('username'),
181
+ '-p',
182
+ '-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), db_settings.fetch('name'), table_name,
183
+ '>', remote_dump_file,
184
+ interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
185
+ execute :gzip, remote_dump_file
186
+ download! remote_zipped_dump_file, zipped_dump_file, via: :scp
187
+ ensure
188
+ execute :rm, '-f', remote_dump_file
189
+ execute :rm, '-f', remote_zipped_dump_file
197
190
  end
198
191
  end
199
192
 
@@ -211,27 +204,25 @@ namespace :db do
211
204
  FileUtils.mkdir_p file_path
212
205
 
213
206
  on primary :backend do
214
- begin
215
- db_settings = read_db_settings_for_context(self)
216
- execute :rm, '-f', remote_file_name
217
- execute :rm, '-f', remote_zipped_file
218
- execute :mysqldump,
219
- '--no-data', '--skip-set-charset',
220
- '--no-create-info', '--skip-comments',
221
- '--skip-extended-insert', '--skip-set-charset',
222
- "--default-character-set=#{db_settings.fetch('charset')}",
223
- '-u', db_settings.fetch('username'),
224
- '-p',
225
- '-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'),
226
- db_settings.fetch('name'), table_names.join(' '),
227
- '>', remote_file_name,
228
- interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
229
- execute :gzip, remote_file_name
230
- download! remote_zipped_file, local_zipped_file, via: :scp
231
- ensure
232
- execute :rm, '-f', remote_file_name
233
- execute :rm, '-f', remote_zipped_file
234
- end
207
+ db_settings = read_db_settings_for_context(self)
208
+ execute :rm, '-f', remote_file_name
209
+ execute :rm, '-f', remote_zipped_file
210
+ execute :mysqldump,
211
+ '--no-data', '--skip-set-charset', '--no-tablespaces',
212
+ '--no-create-info', '--skip-comments',
213
+ '--skip-extended-insert', '--skip-set-charset',
214
+ "--default-character-set=#{db_settings.fetch('charset')}",
215
+ '-u', db_settings.fetch('username'),
216
+ '-p',
217
+ '-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'),
218
+ db_settings.fetch('name'), table_names.join(' '),
219
+ '>', remote_file_name,
220
+ interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
221
+ execute :gzip, remote_file_name
222
+ download! remote_zipped_file, local_zipped_file, via: :scp
223
+ ensure
224
+ execute :rm, '-f', remote_file_name
225
+ execute :rm, '-f', remote_zipped_file
235
226
  end
236
227
 
237
228
  run_locally do
@@ -246,23 +237,21 @@ namespace :db do
246
237
  remote_zipped_default_content_file = "#{remote_default_content_file}.gz"
247
238
 
248
239
  on primary :backend do
249
- begin
250
- db_settings = read_db_settings_for_context(self)
251
- execute :rm, '-f', remote_default_content_file
252
- execute :rm, '-f', remote_zipped_default_content_file
253
- upload! local_zipped_default_content_file, remote_zipped_default_content_file, via: :scp
254
- execute :gunzip, remote_zipped_default_content_file
255
- execute :mysql,
256
- "--default-character-set=#{db_settings.fetch('charset')}",
257
- '-u', db_settings.fetch('username'),
258
- '-p',
259
- '-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), db_settings.fetch('name'),
260
- '-e', "'source #{remote_default_content_file}'",
261
- interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
262
- ensure
263
- execute :rm, '-f', remote_default_content_file
264
- execute :rm, '-f', remote_zipped_default_content_file
265
- end
240
+ db_settings = read_db_settings_for_context(self)
241
+ execute :rm, '-f', remote_default_content_file
242
+ execute :rm, '-f', remote_zipped_default_content_file
243
+ upload! local_zipped_default_content_file, remote_zipped_default_content_file, via: :scp
244
+ execute :gunzip, remote_zipped_default_content_file
245
+ execute :mysql,
246
+ "--default-character-set=#{db_settings.fetch('charset')}",
247
+ '-u', db_settings.fetch('username'),
248
+ '-p',
249
+ '-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), db_settings.fetch('name'),
250
+ '-e', "'source #{remote_default_content_file}'",
251
+ interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
252
+ ensure
253
+ execute :rm, '-f', remote_default_content_file
254
+ execute :rm, '-f', remote_zipped_default_content_file
266
255
  end
267
256
  end
268
257
 
@@ -273,22 +262,20 @@ namespace :db do
273
262
  remote_zipped_default_structure_file = "#{remote_default_structure_file}.gz"
274
263
 
275
264
  on primary :backend do
276
- begin
277
- db_settings = read_db_settings_for_context(self)
278
- execute :rm, '-f', remote_default_structure_file
279
- execute :rm, '-f', remote_zipped_default_structure_file
280
- upload! local_zipped_default_structure_file, remote_zipped_default_structure_file, via: :scp
281
- execute :gunzip, remote_zipped_default_structure_file
282
- execute :mysql,
283
- "--default-character-set=#{db_settings.fetch('charset')}",
284
- '-u', db_settings.fetch('username'), '-p',
285
- '-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), db_settings.fetch('name'),
286
- '-e', "'source #{remote_default_structure_file}'",
287
- interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
288
- ensure
289
- execute :rm, '-f', remote_default_structure_file
290
- execute :rm, '-f', remote_zipped_default_structure_file
291
- end
265
+ db_settings = read_db_settings_for_context(self)
266
+ execute :rm, '-f', remote_default_structure_file
267
+ execute :rm, '-f', remote_zipped_default_structure_file
268
+ upload! local_zipped_default_structure_file, remote_zipped_default_structure_file, via: :scp
269
+ execute :gunzip, remote_zipped_default_structure_file
270
+ execute :mysql,
271
+ "--default-character-set=#{db_settings.fetch('charset')}",
272
+ '-u', db_settings.fetch('username'), '-p',
273
+ '-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'), db_settings.fetch('name'),
274
+ '-e', "'source #{remote_default_structure_file}'",
275
+ interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
276
+ ensure
277
+ execute :rm, '-f', remote_default_structure_file
278
+ execute :rm, '-f', remote_zipped_default_structure_file
292
279
  end
293
280
  end
294
281
 
@@ -307,27 +294,25 @@ namespace :db do
307
294
  local_zipped_file = "#{local_file_name}.gz"
308
295
 
309
296
  on primary :backend do
310
- begin
311
- db_settings = read_db_settings_for_context(self)
312
- execute :rm, '-f', remote_file_name
313
- execute :rm, '-f', remote_zipped_file
314
- execute :mysqldump,
315
- "--default-character-set=#{db_settings.fetch('charset')}",
316
- '--no-create-info', '--skip-comments',
317
- '--skip-extended-insert', '--skip-set-charset',
318
- '--complete-insert',
319
- '-u', db_settings.fetch('username'),
320
- '-p',
321
- '-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'),
322
- db_settings.fetch('name'), table_names,
323
- '>', remote_file_name,
324
- interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
325
- execute :gzip, remote_file_name
326
- download! remote_zipped_file, local_zipped_file, via: :scp
327
- ensure
328
- execute :rm, '-f', remote_file_name
329
- execute :rm, '-f', remote_zipped_file
330
- end
297
+ db_settings = read_db_settings_for_context(self)
298
+ execute :rm, '-f', remote_file_name
299
+ execute :rm, '-f', remote_zipped_file
300
+ execute :mysqldump,
301
+ "--default-character-set=#{db_settings.fetch('charset')}",
302
+ '--no-create-info', '--skip-comments',
303
+ '--skip-extended-insert', '--skip-set-charset',
304
+ '--complete-insert', '--no-tablespaces',
305
+ '-u', db_settings.fetch('username'),
306
+ '-p',
307
+ '-h', db_settings.fetch('host'), '-P', db_settings.fetch('port'),
308
+ db_settings.fetch('name'), table_names,
309
+ '>', remote_file_name,
310
+ interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
311
+ execute :gzip, remote_file_name
312
+ download! remote_zipped_file, local_zipped_file, via: :scp
313
+ ensure
314
+ execute :rm, '-f', remote_file_name
315
+ execute :rm, '-f', remote_zipped_file
331
316
  end
332
317
 
333
318
  run_locally do
@@ -392,14 +377,14 @@ namespace :db do
392
377
  '-e', "'source #{remote_dump_file}'",
393
378
  interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch('password'))
394
379
  end
395
- rescue SSHKit::Command::Failed => exception
380
+ rescue SSHKit::Command::Failed => e
396
381
  run_locally do
397
382
  error "Removing #{remote_dump_file} and #{remote_dump_md5_file}"
398
383
  execute :rm, '-f', remote_dump_md5_file
399
384
  execute :rm, '-f', remote_dump_file
400
385
  end
401
386
  task.reenable
402
- raise "upload_tables failed: #{exception.message}"
387
+ raise "upload_tables failed: #{e.message}"
403
388
  end
404
389
  end
405
390
  end
@@ -18,6 +18,8 @@ set :asset_default_content, %w[download]
18
18
  set :asset_exclude_file, 'config/assets_exclude_file.txt'
19
19
  set :asset_folders, %w[download]
20
20
 
21
+ set :additional_ignore_tables, %w[test_table]
22
+
21
23
  require 'dkdeploy/interaction_handler/mysql'
22
24
  namespace :db do
23
25
  task :sql_error do
@@ -29,29 +31,27 @@ namespace :db do
29
31
  sql_string = StringIO.new "INSERT INTO be_users (username, password, admin, tstamp, crdate)
30
32
  VALUES ('#{username}', MD5('#{password}'), 1, #{now}, #{now});"
31
33
  on primary :backend do
32
- begin
33
- db_settings = {
34
- charset: 'utf8',
35
- username: 'root',
36
- password: 'ilikerandompasswords',
37
- host: '127.0.0.1',
38
- port: 3306,
39
- name: 'dkdeploy_core'
40
- }
41
- execute :mkdir, '-p', remote_db_file_path
42
- execute :rm, '-rf', remote_db_file
43
-
44
- upload! sql_string, remote_db_file
45
- execute :mysql,
46
- "--default-character-set=#{db_settings.fetch(:charset)}",
47
- '-u', db_settings.fetch(:username),
48
- '-p',
49
- '-h', db_settings.fetch(:host), '-P', db_settings.fetch(:port), db_settings.fetch(:name),
50
- '-e', "'source #{remote_db_file}'",
51
- interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch(:password))
52
- ensure
53
- execute :rm, '-rf', remote_db_file
54
- end
34
+ db_settings = {
35
+ charset: 'utf8',
36
+ username: 'root',
37
+ password: 'ilikerandompasswords',
38
+ host: '127.0.0.1',
39
+ port: 3306,
40
+ name: 'dkdeploy_core'
41
+ }
42
+ execute :mkdir, '-p', remote_db_file_path
43
+ execute :rm, '-rf', remote_db_file
44
+
45
+ upload! sql_string, remote_db_file
46
+ execute :mysql,
47
+ "--default-character-set=#{db_settings.fetch(:charset)}",
48
+ '-u', db_settings.fetch(:username),
49
+ '-p',
50
+ '-h', db_settings.fetch(:host), '-P', db_settings.fetch(:port), db_settings.fetch(:name),
51
+ '-e', "'source #{remote_db_file}'",
52
+ interaction_handler: Dkdeploy::InteractionHandler::MySql.new(db_settings.fetch(:password))
53
+ ensure
54
+ execute :rm, '-rf', remote_db_file
55
55
  end
56
56
  end
57
57
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dkdeploy-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.2.2
4
+ version: 10.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Timo Webler
8
8
  - Nicolai Reuschling
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-02-18 00:00:00.000000000 Z
12
+ date: 2021-03-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: aruba
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 0.14.1
20
+ version: '1.0'
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: 0.14.1
27
+ version: '1.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: bundler
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -45,14 +45,14 @@ dependencies:
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '2.4'
48
+ version: '5.3'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '2.4'
55
+ version: '5.3'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: dkdeploy-test_environment
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -73,14 +73,14 @@ dependencies:
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '0.3'
76
+ version: '0.5'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '0.3'
83
+ version: '0.5'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: pry
86
86
  requirement: !ruby/object:Gem::Requirement
@@ -129,42 +129,42 @@ dependencies:
129
129
  requirements:
130
130
  - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: 0.62.0
132
+ version: '1.12'
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: 0.62.0
139
+ version: '1.12'
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: capistrano
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - "~>"
145
145
  - !ruby/object:Gem::Version
146
- version: 3.11.0
146
+ version: '3.16'
147
147
  type: :runtime
148
148
  prerelease: false
149
149
  version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
151
  - - "~>"
152
152
  - !ruby/object:Gem::Version
153
- version: 3.11.0
153
+ version: '3.16'
154
154
  - !ruby/object:Gem::Dependency
155
155
  name: highline
156
156
  requirement: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - "~>"
159
159
  - !ruby/object:Gem::Version
160
- version: 1.7.1
160
+ version: 2.0.3
161
161
  type: :runtime
162
162
  prerelease: false
163
163
  version_requirements: !ruby/object:Gem::Requirement
164
164
  requirements:
165
165
  - - "~>"
166
166
  - !ruby/object:Gem::Version
167
- version: 1.7.1
167
+ version: 2.0.3
168
168
  description: dkd basic deployment tasks and strategies
169
169
  email:
170
170
  - timo.webler@dkd.de
@@ -262,7 +262,7 @@ homepage: https://github.com/dkdeploy/dkdeploy-core
262
262
  licenses:
263
263
  - MIT
264
264
  metadata: {}
265
- post_install_message:
265
+ post_install_message:
266
266
  rdoc_options: []
267
267
  require_paths:
268
268
  - lib
@@ -270,15 +270,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
270
270
  requirements:
271
271
  - - "~>"
272
272
  - !ruby/object:Gem::Version
273
- version: '2.3'
273
+ version: '2.7'
274
274
  required_rubygems_version: !ruby/object:Gem::Requirement
275
275
  requirements:
276
276
  - - ">="
277
277
  - !ruby/object:Gem::Version
278
278
  version: '0'
279
279
  requirements: []
280
- rubygems_version: 3.0.2
281
- signing_key:
280
+ rubygems_version: 3.2.15
281
+ signing_key:
282
282
  specification_version: 4
283
283
  summary: dkd basic deployment tasks and strategies
284
284
  test_files: