group | title | functional_areas | ||||
---|---|---|---|---|---|---|
cloud-guide |
Install, manage, and upgrade extensions |
|
You can extend your Magento application capabilities by adding an extension from the [Magento Marketplace][]. For example, you can add a theme to change the look and feel of your storefront, or you can add a language package to localize your storefront and Admin panel.
{% include cloud/tip-creating-branches.md %}
{% include cloud/composer-name.md %}
We recommend working in a development branch when adding an extension to your implementation. If you do not have a branch, see the [Get started creating branches][branching] topic. When installing an extension, the extension name (<VendorName>_<ComponentName>
) is automatically inserted in the [app/etc/config.php
][config] file. There is no need to edit the file directly.
{:.procedure} To install an extension:
-
On your local workstation, change to the Cloud project root directory.
-
Create or checkout a development branch. See [branching][].
-
Using the Composer name and version, add the extension to the
require
section of thecomposer.json
file.composer require <extension-name>:<version> --no-update
For example:
composer require pixlee/magento2:1.0.1 --no-update
-
Update the project dependencies.
composer update
-
Add, commit, and push code changes.
git add -A
git commit -m "Install <extension-name>"
git push origin <branch-name>
{:.bs-callout-warning} When installing an extension, you must include the
composer.lock
file when you push code changes to the remote environment. Thecomposer install
command reads thecomposer.lock
file to enable the defined dependencies in the remote environment. -
After the build and deploy finishes, use a SSH to log in to the remote environment and verify the extension installed.
bin/magento module:status <extension-name>
An extension name uses the format:
<VendorName>_<ComponentName>
.Sample response:
Module is enabled
If you encounter deployment errors, see [extension deployment failure][trouble].
When you add an extension using Composer, the deployment process automatically enables the extension. If you already have the extension installed, you can enable or disable the extension using the CLI. When managing extensions, use the format: <VendorName>_<ComponentName>
. Never enable or disable an extension while logged in to the remote environments.
{:.procedure} To enable or disable an extension:
-
On your local workstation, change to the Cloud project root directory.
-
Enable or disable a module. The
module
command updates theconfig.php
file with the requested status of the module.Enable a module.
bin/magento module:enable <module-name>
Disable a module.
bin/magento module:disable <module-name>
-
If you enabled a module, use
ece-tools
to refresh the configuration../vendor/bin/ece-tools module:refresh
-
Verify the status of a module.
bin/magento module:status <module-name>
-
Add, commit, and push code changes.
git add -A
git commit -m "Disable <extension-name>"
git push origin <branch-names>
Before you continue, you need the Composer name and version for the extension. Also, confirm that the extension is compatible with your project and {{site.data.var.ece}} version. In particular, check the required PHP version before you begin.
{:.procedure} To update an extension:
-
On your local workstation, change to the Cloud project root directory.
-
Create or checkout a development branch. See [branching][].
-
Open the
composer.json
file in a text editor. -
Locate your extension and update the version.
-
Save your changes and exit the text editor.
-
Update the project dependencies.
composer update
-
Add, commit, and push your code changes.
git add -A
git commit -m "Update <extension-name>"
git push origin <branch-names>
If you encounter errors, see [extension deployment failure][].
[branching]: {{ site.baseurl }}/cloud/env/environments-start.html#getstarted [config]: {{ site.baseurl }}/guides/v2.3/config-guide/config/config-php.html [extensions]: {{ site.baseurl }}/extensions/ [Magento Marketplace]: https://marketplace.magento.com [trouble]: {{ site.baseurl }}/cloud/trouble/trouble_comp-deploy-fail.html