capistrano-magento2 0.5.2 → 0.5.3
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/CHANGELOG.md +9 -0
- data/README.md +13 -11
- data/lib/capistrano/magento2.rb +8 -0
- data/lib/capistrano/magento2/version.rb +1 -1
- data/lib/capistrano/tasks/deploy.rake +18 -29
- data/lib/capistrano/tasks/magento.rake +32 -19
- data/lib/capistrano/tasks/pending.rake +4 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a81db107c4c34b425b713d6fa60472526266e14
|
4
|
+
data.tar.gz: 5a3bf1bb110c1f121a3063a6d67a32a3346cba96
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1f4f5c17e3e55132443b1bae1658ef3d09ac434a09b10d14709a23707200a51b1adedff986f1d5ca83f54ff86957b3c84fc12c6ba47082ef924e3b9255295e0c
|
7
|
+
data.tar.gz: ea57f3391c18f3ec8388fb5fe96a97c1405c26dad2b62ec87810a014c22dd053eae1c18092acad7f1d5b60db8e4a2fc4fcee40a32e6b2ffeaf4c512ee13641bd
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Capistrano::Magento2 Change Log
|
2
2
|
|
3
|
+
0.5.3
|
4
|
+
==========
|
5
|
+
|
6
|
+
* Added setting `:magento_deploy_cache_shared` for targeting cache related tasks (issue #33)
|
7
|
+
* Added setting `:magento_deploy_setup_role` for targeting setup related tasks (issue #33)
|
8
|
+
* Fixed magento setup, cache, index commands to only run on appropriate node(s) in multi-node deploys (issue #33).
|
9
|
+
* Fixed capistrano-pending support to play nicely with multiple hosts. Now only performs check on a single host.
|
10
|
+
* Updated `magento:deploy:verify` output with host specific messaging on configuration errors.
|
11
|
+
|
3
12
|
0.5.2
|
4
13
|
==========
|
5
14
|
|
data/README.md
CHANGED
@@ -109,17 +109,19 @@ Before you can use Capistrano to deploy, you must configure the `config/deploy.r
|
|
109
109
|
|
110
110
|
### Magento Deploy Settings
|
111
111
|
|
112
|
-
| setting
|
113
|
-
|
|
114
|
-
| `:
|
115
|
-
| `:
|
116
|
-
| `:
|
117
|
-
| `:
|
118
|
-
| `:
|
119
|
-
| `:
|
120
|
-
| `:
|
121
|
-
| `:
|
122
|
-
| `:
|
112
|
+
| setting | default | what it does
|
113
|
+
| ------------------------------ | ------- | ---
|
114
|
+
| `:magento_deploy_setup_role` | `:all` | Role from which primary host is chosen to run things like setup:upgrade on
|
115
|
+
| `:magento_deploy_cache_shared` | `true` | If true, cache operations are restricted to the primary node in setup role
|
116
|
+
| `:magento_deploy_languages` | `['en_US']` | Array of languages passed to static content deploy routine
|
117
|
+
| `:magento_deploy_themes` | `[]` | Array of themes passed to static content deploy routine (Magento 2.1+ only)
|
118
|
+
| `:magento_deploy_composer` | `true` | Enables composer install behaviour in the built-in deploy routine
|
119
|
+
| `:magento_deploy_production` | `true` | Enables production specific DI compilation and static content generation
|
120
|
+
| `:magento_deploy_maintenance` | `true` | Enables use of maintenance mode while magento:setup:upgrade runs
|
121
|
+
| `:magento_deploy_confirm` | `[]` | Used to require confirmation of deployment to a set of capistrano stages
|
122
|
+
| `:magento_deploy_chmod_d` | `2770` | Default permissions applied to all directories in the release path
|
123
|
+
| `:magento_deploy_chmod_f` | `0660` | Default permissions applied to all non-executable files in the release path
|
124
|
+
| `:magento_deploy_chmod_x` | `['bin/magento']` | Default list of files in release path to set executable bit on
|
123
125
|
|
124
126
|
#### Example Usage
|
125
127
|
|
data/lib/capistrano/magento2.rb
CHANGED
@@ -7,4 +7,12 @@
|
|
7
7
|
# http://davidalger.com/contact/
|
8
8
|
##
|
9
9
|
|
10
|
+
module Capistrano
|
11
|
+
class Magento2
|
12
|
+
def self.cache_hosts
|
13
|
+
return fetch(:magento_deploy_cache_shared) ? (primary fetch :magento_deploy_setup_role) : (release_roles :all)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
10
18
|
load File.expand_path('../tasks/magento.rake', __FILE__)
|
@@ -19,47 +19,36 @@ namespace :deploy do
|
|
19
19
|
end
|
20
20
|
|
21
21
|
task :updated do
|
22
|
+
invoke 'magento:deploy:verify'
|
23
|
+
invoke 'magento:composer:install' if fetch(:magento_deploy_composer)
|
24
|
+
invoke 'magento:setup:permissions'
|
25
|
+
if fetch(:magento_deploy_production)
|
26
|
+
invoke 'magento:setup:static-content:deploy'
|
27
|
+
invoke 'magento:setup:di:compile'
|
28
|
+
end
|
29
|
+
invoke 'magento:setup:permissions'
|
30
|
+
invoke 'magento:maintenance:enable' if fetch(:magento_deploy_maintenance)
|
31
|
+
|
22
32
|
on release_roles :all do
|
23
|
-
invoke 'magento:deploy:verify'
|
24
|
-
invoke 'magento:composer:install' if fetch(:magento_deploy_composer)
|
25
|
-
invoke 'magento:setup:permissions'
|
26
|
-
if fetch(:magento_deploy_production)
|
27
|
-
invoke 'magento:setup:static-content:deploy'
|
28
|
-
invoke 'magento:setup:di:compile'
|
29
|
-
end
|
30
|
-
invoke 'magento:setup:permissions'
|
31
|
-
invoke 'magento:maintenance:enable' if fetch(:magento_deploy_maintenance)
|
32
33
|
if test "[ -f #{current_path}/bin/magento ]"
|
33
34
|
within current_path do
|
34
35
|
execute :magento, 'maintenance:enable' if fetch(:magento_deploy_maintenance)
|
35
36
|
end
|
36
37
|
end
|
37
|
-
invoke 'magento:setup:upgrade'
|
38
38
|
end
|
39
|
+
|
40
|
+
invoke 'magento:setup:upgrade'
|
39
41
|
end
|
40
42
|
|
41
43
|
task :published do
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
invoke 'magento:maintenance:disable' if fetch(:magento_deploy_maintenance)
|
46
|
-
end
|
44
|
+
invoke 'magento:cache:flush'
|
45
|
+
invoke 'magento:cache:varnish:ban'
|
46
|
+
invoke 'magento:maintenance:disable' if fetch(:magento_deploy_maintenance)
|
47
47
|
end
|
48
48
|
|
49
49
|
task :reverted do
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
invoke 'magento:cache:varnish:ban'
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
namespace :load do
|
59
|
-
task :defaults do
|
60
|
-
set :magento_deploy_composer, fetch(:magento_deploy_composer, true)
|
61
|
-
set :magento_deploy_confirm, fetch(:magento_deploy_confirm, [])
|
62
|
-
set :magento_deploy_maintenance, fetch(:magento_deploy_maintenance, true)
|
63
|
-
set :magento_deploy_production, fetch(:magento_deploy_production, true)
|
50
|
+
invoke 'magento:maintenance:disable' if fetch(:magento_deploy_maintenance)
|
51
|
+
invoke 'magento:cache:flush'
|
52
|
+
invoke 'magento:cache:varnish:ban'
|
64
53
|
end
|
65
54
|
end
|
@@ -12,7 +12,7 @@ namespace :magento do
|
|
12
12
|
namespace :cache do
|
13
13
|
desc 'Flush Magento cache storage'
|
14
14
|
task :flush do
|
15
|
-
on
|
15
|
+
on Capistrano::Magento2.cache_hosts do
|
16
16
|
within release_path do
|
17
17
|
execute :magento, 'cache:flush'
|
18
18
|
end
|
@@ -21,7 +21,7 @@ namespace :magento do
|
|
21
21
|
|
22
22
|
desc 'Clean Magento cache by types'
|
23
23
|
task :clean do
|
24
|
-
on
|
24
|
+
on Capistrano::Magento2.cache_hosts do
|
25
25
|
within release_path do
|
26
26
|
execute :magento, 'cache:clean'
|
27
27
|
end
|
@@ -30,7 +30,7 @@ namespace :magento do
|
|
30
30
|
|
31
31
|
desc 'Enable Magento cache'
|
32
32
|
task :enable do
|
33
|
-
on
|
33
|
+
on Capistrano::Magento2.cache_hosts do
|
34
34
|
within release_path do
|
35
35
|
execute :magento, 'cache:enable'
|
36
36
|
end
|
@@ -39,7 +39,7 @@ namespace :magento do
|
|
39
39
|
|
40
40
|
desc 'Disable Magento cache'
|
41
41
|
task :disable do
|
42
|
-
on
|
42
|
+
on Capistrano::Magento2.cache_hosts do
|
43
43
|
within release_path do
|
44
44
|
execute :magento, 'cache:disable'
|
45
45
|
end
|
@@ -48,7 +48,7 @@ namespace :magento do
|
|
48
48
|
|
49
49
|
desc 'Check Magento cache enabled status'
|
50
50
|
task :status do
|
51
|
-
on
|
51
|
+
on Capistrano::Magento2.cache_hosts do
|
52
52
|
within release_path do
|
53
53
|
execute :magento, 'cache:status'
|
54
54
|
end
|
@@ -59,7 +59,7 @@ namespace :magento do
|
|
59
59
|
# TODO: Document what the magento:cache:varnish:ban task is for and how to use it. See also magento/magento2#4106
|
60
60
|
desc 'Add ban to Varnish for url(s)'
|
61
61
|
task :ban do
|
62
|
-
on
|
62
|
+
on primary fetch(:magento_deploy_setup_role) do
|
63
63
|
# TODO: Document use of :ban_pools and :varnish_cache_hosts in project config file
|
64
64
|
next unless any? :ban_pools
|
65
65
|
next unless any? :varnish_cache_hosts
|
@@ -124,27 +124,30 @@ namespace :magento do
|
|
124
124
|
end
|
125
125
|
|
126
126
|
task :verify do
|
127
|
+
is_err = false
|
127
128
|
on release_roles :all do
|
128
129
|
unless test "[ -f #{release_path}/app/etc/config.php ]"
|
129
|
-
error "
|
130
|
-
exit 1
|
130
|
+
error "\e[0;31mThe repository is missing app/etc/config.php. Please install the application and retry!\e[0m"
|
131
|
+
exit 1 # only need to check the repo once, so we immediately exit
|
131
132
|
end
|
132
133
|
|
133
134
|
unless test %Q[#{SSHKit.config.command_map[:php]} -r '
|
134
135
|
$cfg = include "#{release_path}/app/etc/env.php";
|
135
136
|
exit((int)!isset($cfg["install"]["date"]));
|
136
137
|
']
|
137
|
-
error "No environment configuration could be found.
|
138
|
-
|
138
|
+
error "\e[0;31mError on #{host}:\e[0m No environment configuration could be found." +
|
139
|
+
" Please configure app/etc/env.php and retry!"
|
140
|
+
is_err = true
|
139
141
|
end
|
140
142
|
end
|
143
|
+
exit 1 if is_err
|
141
144
|
end
|
142
145
|
end
|
143
146
|
|
144
147
|
namespace :setup do
|
145
148
|
desc 'Run the Magento upgrade process'
|
146
149
|
task :upgrade do
|
147
|
-
on
|
150
|
+
on primary fetch(:magento_deploy_setup_role) do
|
148
151
|
within release_path do
|
149
152
|
execute :magento, 'setup:upgrade --keep-generated'
|
150
153
|
end
|
@@ -280,7 +283,7 @@ namespace :magento do
|
|
280
283
|
namespace :indexer do
|
281
284
|
desc 'Reindex data by all indexers'
|
282
285
|
task :reindex do
|
283
|
-
on
|
286
|
+
on primary fetch(:magento_deploy_setup_role) do
|
284
287
|
within release_path do
|
285
288
|
execute :magento, 'indexer:reindex'
|
286
289
|
end
|
@@ -289,7 +292,7 @@ namespace :magento do
|
|
289
292
|
|
290
293
|
desc 'Shows allowed indexers'
|
291
294
|
task :info do
|
292
|
-
on
|
295
|
+
on primary fetch(:magento_deploy_setup_role) do
|
293
296
|
within release_path do
|
294
297
|
execute :magento, 'indexer:info'
|
295
298
|
end
|
@@ -298,7 +301,7 @@ namespace :magento do
|
|
298
301
|
|
299
302
|
desc 'Shows status of all indexers'
|
300
303
|
task :status do
|
301
|
-
on
|
304
|
+
on primary fetch(:magento_deploy_setup_role) do
|
302
305
|
within release_path do
|
303
306
|
execute :magento, 'indexer:status'
|
304
307
|
end
|
@@ -307,7 +310,7 @@ namespace :magento do
|
|
307
310
|
|
308
311
|
desc 'Shows mode of all indexers'
|
309
312
|
task 'show-mode', :index do |t, args|
|
310
|
-
on
|
313
|
+
on primary fetch(:magento_deploy_setup_role) do
|
311
314
|
within release_path do
|
312
315
|
execute :magento, 'indexer:show-mode', args[:index]
|
313
316
|
end
|
@@ -316,14 +319,13 @@ namespace :magento do
|
|
316
319
|
|
317
320
|
desc 'Sets mode of all indexers'
|
318
321
|
task 'set-mode', :mode, :index do |t, args|
|
319
|
-
on
|
322
|
+
on primary fetch(:magento_deploy_setup_role) do
|
320
323
|
within release_path do
|
321
324
|
execute :magento, 'indexer:set-mode', args[:mode], args[:index]
|
322
325
|
end
|
323
326
|
end
|
324
327
|
end
|
325
328
|
end
|
326
|
-
|
327
329
|
end
|
328
330
|
|
329
331
|
namespace :load do
|
@@ -356,10 +358,21 @@ namespace :load do
|
|
356
358
|
'var/tmp'
|
357
359
|
)
|
358
360
|
|
359
|
-
|
360
|
-
set :magento_deploy_themes, fetch(:magento_deploy_themes, [])
|
361
|
+
# deploy permissions defaults
|
361
362
|
set :magento_deploy_chmod_d, fetch(:magento_deploy_chmod_d, '2770')
|
362
363
|
set :magento_deploy_chmod_f, fetch(:magento_deploy_chmod_f, '0660')
|
363
364
|
set :magento_deploy_chmod_x, fetch(:magento_deploy_chmod_x, ['bin/magento'])
|
365
|
+
|
366
|
+
# deploy configuration defaults
|
367
|
+
set :magento_deploy_composer, fetch(:magento_deploy_composer, true)
|
368
|
+
set :magento_deploy_confirm, fetch(:magento_deploy_confirm, [])
|
369
|
+
set :magento_deploy_languages, fetch(:magento_deploy_languages, ['en_US'])
|
370
|
+
set :magento_deploy_maintenance, fetch(:magento_deploy_maintenance, true)
|
371
|
+
set :magento_deploy_production, fetch(:magento_deploy_production, true)
|
372
|
+
set :magento_deploy_themes, fetch(:magento_deploy_themes, [])
|
373
|
+
|
374
|
+
# deploy targetting defaults
|
375
|
+
set :magento_deploy_setup_role, fetch(:magento_deploy_setup_role, :all)
|
376
|
+
set :magento_deploy_cache_shared, fetch(:magento_deploy_cache_shared, true)
|
364
377
|
end
|
365
378
|
end
|
@@ -11,11 +11,12 @@ require 'capistrano-pending'
|
|
11
11
|
|
12
12
|
before :deploy, 'deploy:pending:check_changes'
|
13
13
|
namespace :deploy do
|
14
|
-
|
14
|
+
|
15
|
+
# Check for pending changes on the primary node and then notify user of any incoming
|
16
|
+
# changes and/or warn that there is nothing to deploy
|
15
17
|
namespace :pending do
|
16
|
-
# Check for pending changes and notify user of incoming changes or warn them that there are no changes
|
17
18
|
task :check_changes do
|
18
|
-
on
|
19
|
+
on primary fetch(:magento_deploy_setup_role) do
|
19
20
|
# check for pending changes only if REVISION file exists to prevent error
|
20
21
|
if test "[ -f #{current_path}/REVISION ]"
|
21
22
|
invoke 'deploy:pending:setup'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-magento2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Alger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|