- Updated to now set SELinux context on
var
directory with default type ofhttpd_sys_rw_content_t
to allow application writes where SELinux is enabled.
- Updated to now specify
--non-interactive
flag onapp:config:import
so CLI command will not hang trying for user input.
- Fixed issue preventing use of
after
tasks onmagento:cache:flush
from being used to trigger service reloads at end of deployment (issue #143) - Updated to use DSL method
invoke!
to call iterant tasks (see capistrano/capistrano/pull/1911))
- Fixed regression in 0.9.0 where relying on the
-l
flag broke multilingual static content deployment (issue #141)
Upgrade Notes:
As of this release only Magento 2.3 and later are supported and support has been dropped for prior versions which have long since reached their end-of-life. Moving forward versions past their EOL will no longer be supported by subsequent releases of this gem. Older versions of this gem may continue to be used to deploy older and EOL versions.
If using a Gemfile
with Bundler to lock versions of dependencies used for execution, the version lock on capistrano
should be updated to ~>1.13
to match the minimal requirement of this release, otherwise bundle update
will fail to update to version 0.9.0
of this gem. The following is recommended:
gem 'capistrano', '~> 3.14'
gem 'capistrano-magento2', '~> 0.9'
If a capistrano version lock is present in a projects deploy.rb
it will also need to be updated:
lock '~> 3.14'
Change Summary:
- Dropped support for EOL versions of Magento and scrubbed all gated logic around legacy behaviors in 2.1.x and 2.2.x
- Removed
magento:deploy:version_check
task and associated warning when attempting to deploy unsupported versions of Magento - Updated required version of
capistrano
to~> 1.13
(>=1.13 and less than 2.0) - Resolved inability to use
--dry-run
flag (issue #128) as made possible by the removal of all version related gating logic. - Dropped explicit default of
:magento_deploy_languages
; will now only be passed tobin/magento
call when set in project configuration. - Updated zero-down deployment logic to rely on
app:config:status
to detect config changes rather than the md5sum of config.php in current and release directories. - Added
magento:app:config:status
to available commands for manual execution. - Fixes issue in 2.3.4 and later where app:config:import may fail if cache:flush is not run immediately prior (issue #138)
- Fixed issue with RabbitMQ settings caused by app:config:import running after setup-upgrade step vs prior to the database upgrades (which connects to RabbitMQ in recurring data upgrade scripts)
- Added support for zero-side-effect pipeline deployments when scopes/themes have been dumped to config.php
- Updated use of
touch
to run such that SSHKit prefixes may be used (PR #110)
- Fixed possible race condition in
magento:deploy:version_check
whenapp/etc/env.php
resides on an NFS share
- Added ability to override flags sent to
composer install
to workaround issue in Magento 2.3 beta preventing deploy
- Disabled call to
magento:setup:db:schema:upgrade
when running a zero-down deployment - Disabled call to
magento:setup:db:data:upgrade
when running a zero-down deployment - Fixed possible race condition in
magento:deploy:mode:production
whenapp/etc/env.php
resides on an NFS share
- Fixed regression failing deployment when
:magento_deploy_composer
is set tofalse
(PR #106)
- Added
var/export
to default list of :linked_dirs to support bundleddotmailer/dotmailer-magento2-extension
package
- Added
require 'capistrano/magento2/cachetool'
which may be used to enable flushing the php-opcache when cachetool is installed on the server - Added
cachetool:opcache:status
andcachetool:opcache:reset
commands (userequire 'capistrano/magento2/cachetool'
to enable them) - Fixed issue causing deployment to disable maintenance mode when manually enabled prior to deployment (issue #16)
- Added support for zero-down deployment (PR #104, issue #34)
- Added call to "composer dump-autoload --no-dev --optimize" following DI compliation (issue #102)
- Optimized set permissions operation (PR #89)
- Fixed
uninitialized constant Capistrano::Magento2::Setup::DateTime
error (PR #93, issue #92)
- Added support for Magento 2.2 static content deploy strategies (PR #85)
- Added support for Magento 2.2 shared application config files (issue #83)
- Fixed deploy routine so production mode is no longer enabled automatically when
:magento_deploy_production
is false - Fixed regression in multi-lingual deployment (reverted boxing workaround with 2.1.7 upper limit; release notes are wrong and the issue persists in 2.1.8)
- Updated double run of static content deploy to only apply to versions prior to 2.1.8 (underling issue was resolved in 2.1.8)
- Added support for Magento 2.2.0 release candidates
- Removed support for deployment of Magento versions older than 2.1.1
- Updated and optimized static content deployment for upcoming Magento 2.2.0 release
- Updated composer install routine; --no-dev is now used indiscriminately since Magento 2.1.1 and later support it; no more duplicate composer install commands (issue #76)
- Updated multi-lingual site deployment workaround to apply only to versions 2.1.3 through 2.1.7 as per 2.1.8 release notes the underlying issue has been resolved (issue #72)
- Added tasks to set production mode and show current mode (magento:deploy:mode:production and magento:deploy:mode:show)
- Updated date formatting of pending change log output for enhanced readability (PR #73)
- Fixed bug in static content deploy resulting from a change in behaviour in Magento 2.1.3 and later (PR #74)
- Added workaround for Magento 2.1.3 bug causing multi-lingual static-content deployment failure (issue #72)
- Added support for the config.local.php file found in Magento 2.1.6 and later
- Fixed deployment to multiple hosts resulting in disparate static content versions across target hosts
- Added setting
:magento_deploy_jobs
to support configuring number of parallel static content deployment tasks - Fixed issue where ./update dir may exist without a composer.json file, causing deployment failure
- Updated uses of bin/magento where output is parsed to include
--no-ansi
to eliminate potential failures - Improved error reporting on static content deployment failure
- Fixed Magento version check failing on some servers due to ansi output in non-interactive shells (issue #64)
- Added ability to configure Magento's composer authentication keys. See README for details (PR #56)
- Changed pending change log to hook into before
deploy:check
(previously hooked beforedeploy
)
- Added full-featured pending change logging functionality. See README for details (issue #58)
- Fixed inability to set PATH in capistrano configuration vs
.bashrc
file (issue #62) - Updated README to reflect removing the
terminal-notifier
gem as a hard dependency (issue #19) - Removed
capistrano-pending
as a dependency (issue #58)
- Updated README with Capistrano 3.7 setup information
- Updated
linked_dirs
to linkpub/sitemaps
by default in similar fashion to the Magento1 deployment gem - Updated README with guidance on adding a path to the list of
linked_dirs
without copying the entire configuration forward - Fixed bug causing pipefail option to persist after
Capistrano::Magento2::Setup.static_content_deploy
is called
- Fixed critical failure due to command map being broken in v0.5.7 updates (issue #50, issue #51)
Note: This release was yanked from RubyGems due to a critical failure in the deploy routine.
- Fixed failing deploys for Magento 2.1.0 caused by improper version checks on flags added in version 2.1.1 (issue #45)
- Fixed failure to detect error codes Magento 2.1.1 returns on a failed static-content deploy job (issue #44)
- Fixed issue where setup:di:compile failing to return an exit code caused DI compilation failures to be masked (issue #41)
- Fixed DI artifact mismatch caused by setup:ugprade overwriting frozen config.php post compilation
- Removed redundant (and non-functional) commands from deploy:reverted task
- Added informational output which lists the installed modules which are disabled per
app/etc/config.php
- Fixed issue causing failed releases when there are CSS compilation errors in setup:static-content:deploy task
- Updated static content deployment to ignore
:magento_deploy_themes
when deploying 2.0 and issue a warning message.
- Added setting
:magento_deploy_cache_shared
for targeting cache related tasks (issue #33) - Added setting
:magento_deploy_setup_role
for targeting setup related tasks (issue #33) - Fixed magento setup, cache, index commands to only run on appropriate node(s) in multi-node deploys (issue #33).
- Fixed capistrano-pending support to play nicely with multiple hosts. Now only performs check on a single host.
- Updated
magento:deploy:verify
output with host specific messaging on configuration errors.
- Added ability to configure permissions set on each deploy (issue #32). See README for details.
- Fixed usability regression causing deploy confirmation to occur prior to display of
capistrano/magento2/pending
output when in use (issue #28) - Fixed "REVISION file doesn't exist" error when deploying for the first time when
capistrano/magento2/pending
is loaded - Fixed issue breaking initial deploy when
:magento_deploy_maintenance
is set to true
- Added ability to only deploy specific themes via the new
:magento_deploy_themes
array - Added
:magento_deploy_confim
setting which requires user confirmation of deployment to specific capistrano stages - Added call to pre-generate secure RequireJS config (issue #21)
- Added workaround for Magento 2.1 specific bug where lack of a deployed_version.txt file would fail static asset deploy
- Added error check on output of setup:di:compile-multi-tenant since Magento 2.0 doesn't return error codes (issue #25)
- Updated formatting of pending deployment messaging
- Updated composer calls to specify --no-dev and --optimize-autoloader when
:magento_deploy_production
is not set (issue #22, #23) - Fixed bug causing maintenance mode to be enabled on deploy even when
:magento_deploy_maintenance
was set to false - Fixed bug preventing the second call to
magento:setup:permissions
from being executed (issue #18) - Removed the undocumented
:deploy_warn_stages
setting from the notifier
- Added optional support for capistrano-pending gem.
- Added
:magento_deploy_composer
flag. See README for details. - Added
:magento_deploy_maintenance
flag. See README for details. - Updated
:magento_deploy_languages
definition to explicitly declare default value.
- Added
:magento_deploy_production
flag to disable production deploy commands (PR #10 by @giacmir). - Added
:magento_deploy_languages
setting to support passing language list to static content generator (PR #11 by @giacmir).
- Added internal
magento:deploy:check
task and:linked_files_touch
setting to minimize manual server setup - Moved default linked file for sitemap.xml into pub directory
- Added file check to halt deploy if app/etc/config.php is not present in repository
- Added check to verify that app/etc/env.php contains an array with an install date
- Revert "Add workaround for M2.0.4 bug noted in magento/magento2#4070"
- Fixed issue with initial deploy failing before 'current' link has been created on target
- Added "smart" magento:setup:di:compile task which uses multi-tenant if available (for compatibility with 2.0 release)
- Added a command_map for the bin/magento tool to simplify rake files
- Added indexer:info, indexer:status, indexer:show-mode, indexer:set-mode
- Added maintenance:status and maintenance:allow-ips, exposes maintenance:disable
- Fixed broken error detection logic on setup:static-content:deploy
- Fixed bug where magento:setup:upgrade was not using the --keep-generated flag
- Fixed log bloat caused by chatty static-content:deploy
- Fixed missing dependency include in deploy.rb
- Fixed output of magento:cache:varnish:ban command
- Fixed potential issue where if a botched release was in production, one could not roll back
- Fixed technical dependency bug preventing projects from overriding the deploy.rake with a custom one
- Renamed capistrano/magento2/deploy/notify to capistrano/magento2/notifier
- Renamed magento:reset_permissions to magento:setup:permissions
- Renamed magento:setup:static_content:deploy to magento:setup:static-content:deploy
- Updated composer calls to explicitly set --prefer-dist and --no-interaction
- Updated README to reflect current setup instructions
- Changed magento:cache:varnish:ban to use
:varnish_cache_hosts
array in deploy config vs hardcoding 127.0.0.1:6081
- Added information to README file regarding use of terminal-notifier functionality
- Initial functional release, tested with Magento 2.0.4 / PHP 7.0.5