|
| 1 | +--- |
| 2 | +group: software-update-guide |
| 3 | +title: Install |
| 4 | +ee_only: True |
| 5 | +functional_areas: |
| 6 | + - Upgrade |
| 7 | +--- |
| 8 | + |
| 9 | +The Safe Upgrade Tool ALPHA (SUT) is a command line (CLI) tool that checks a Magento instance against a specific version by analyzing all the non-Magento modules installed on it. |
| 10 | + |
| 11 | +{:.bs-callout-warning} |
| 12 | +At the moment this is an ALPHA version with limited scope, available for all Magento Commerce merchants, only validating PHP Magento APIs and GraphQL schema. |
| 13 | + |
| 14 | +## Workflow |
| 15 | + |
| 16 | +The following diagram shows the expected workflow when running the SUT: |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | +### Who is the SUT for? |
| 21 | + |
| 22 | +The following use case describes the typical process for a Magento partner to upgrade a client's Magento instance: |
| 23 | + |
| 24 | +1. A partner's Software Engineer downloads the SUT package from the [Magento repository](https://repo.magento.com/) and executes it during the beta phase of the newest Magento release. |
| 25 | +1. The Software Engineer sees that there are several customized areas broken in the inventory and catalog modules and they also get a complexity score of X. See the [Developer information guide]({{site.baseurl}}/safe-upgrade-tool/developer.html) for more information on the complexity score. |
| 26 | +1. With this information, the Software Engineer is able to understand the complexity of the upgrade and is able to relay this information back to the partner's Account Manager. |
| 27 | +1. The Account Manager creates a timeline and cost for the Magento upgrade, which allows them to get their manager's approval. |
| 28 | +1. With their manager's approval, the Software Engineer works on the required code modifications to fix the broken modules. |
| 29 | +1. The Software Engineer runs the SUT tool one more time with a Magento pre-release to ensure there are no new issues and that their code changes fixed the problems found during the beta phase. |
| 30 | +1. Everything check’s out and the Software Engineer pushes the code to a staging environment where regression tests confirm all tests are green, which allows them to release the latest Magento version to production the same day that the Magento pre-release is released. |
| 31 | + |
| 32 | + |
| 33 | + |
| 34 | +#### Contact SUT |
| 35 | + |
| 36 | +To connect with the SUT team: |
| 37 | + |
| 38 | +1. Contact us on the Engineering Slack channel [Magento Safe Upgrade Tool](https://magentocommeng.slack.com/archives/C019Y143U9F). |
| 39 | +1. Send us an email at [[email protected]](mailto:[email protected]). |
| 40 | + |
| 41 | +See the [Resources]({{site.baseurl}}/community/resources/resources.html) page for more information. |
| 42 | + |
| 43 | +## Prerequisites |
| 44 | + |
| 45 | +See [prerequisites]({{site.baseurl}}/safe-upgrade-tool/prerequisites.html) for more information. |
| 46 | + |
| 47 | +{:.bs-callout-info} |
| 48 | +You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. It is necessary for SUT to have access to the source code of the Magento instance. For example, you can install the SUT on one server and point it at your Magento installation on another server. |
| 49 | + |
| 50 | +If you are running SUT against a Magento instance with large modules and files, the tool might require a high amount of RAM, at least 2GB RAM. |
| 51 | + |
| 52 | +### Recommended actions |
| 53 | + |
| 54 | +Magento best practice is not to have 2 modules with the same name, if this happens SUT will show a segmentation fault error in which case you have to analyze each module independently with the option `-m`: |
| 55 | + |
| 56 | + ```bash |
| 57 | + bin/sut upgrade:check /(instance_path) --coming-version=2.4.1 -m /(module_path) |
| 58 | + ``` |
| 59 | + |
| 60 | +If you get memory issues while executing SUT it is recommended to use the `-m` command to run the tool against a specific module. |
| 61 | + |
| 62 | +## Install |
| 63 | + |
| 64 | +To install the SUT, you must install the necessary prerequisites: |
| 65 | + |
| 66 | +* Magento access keys |
| 67 | +* Composer |
| 68 | +* Node.js (only required to check GraphQL compatibility) |
| 69 | + |
| 70 | +Refer to the [SUT installation]({{site.baseurl}}/safe-upgrade-tool/install.html#install). |
| 71 | + |
| 72 | +### Magento access keys |
| 73 | + |
| 74 | +You must have [Magento access keys]({{site.baseurl}}/marketplace/sellers/profile-information.html#access-keys) to download and use the SUT. Add your Magento access keys to your `auth.json` file, which is located at `~/.composer` by default. |
| 75 | + |
| 76 | +{:.bs-callout-warning} |
| 77 | +Check your **COMPOSER_HOME** environment variable to see where the `auth.json` file is located. |
| 78 | + |
| 79 | +The **public key** corresponds to the _username_ whereas the **private key** is the _password_: |
| 80 | + |
| 81 | +### Example of Magento access keys |
| 82 | + |
| 83 | +```json |
| 84 | + "http-basic": { |
| 85 | + "repo.magento.com": { |
| 86 | + "username": "YOUR_MAGENTO_PUBLIC_KEY", |
| 87 | + "password": "YOUR_MAGENTO_PRIVATE_KEY" |
| 88 | + } |
| 89 | + }, |
| 90 | +``` |
| 91 | + |
| 92 | +### Composer |
| 93 | + |
| 94 | +Clone the [safe-upgrade-tool](https://github.com/magento-commerce/safe-upgrade-tool) repository and run `composer install` in your terminal to install dependencies. |
| 95 | + |
| 96 | +{:.bs-callout-warning} |
| 97 | +If the **Magento access keys** are not correctly configured, the SUT will not install and you will get errors when running the `composer install` command. |
| 98 | + |
| 99 | +### Node.js |
| 100 | + |
| 101 | +To install Node.js, see the Node.js [documentation](https://nodejs.dev/learn/how-to-install-nodejs). |
| 102 | + |
| 103 | +{:.bs-callout-info} |
| 104 | +Node.js is only a requirement to check GraphQL compatibility. |
| 105 | + |
| 106 | +## Third-party extensions |
| 107 | + |
| 108 | +Magento recommends that you contact your search engine vendor to determine whether your extension is fully compatible with Magento 2.4. |
| 109 | + |
| 110 | +See [Run the tool]({{site.baseurl}}/safe-upgrade-tool/run.html) for information about executing the SUT tool. |
0 commit comments