The installation of extensions for Magento 2 has a few scenarios to cover depending on your starting position (Magento mode being the most influential). A typical installation routine includes 5 or more steps.
The ExtDN installer aims to bring down the installation steps required to just 1 covering a wide range of extension sources and Magento installs. The installer starts with a range of checks to confirm that the installation is likely to succeed:
List of checks
Do you have an existing deployment or development process for M2 extension installations? If yes you likely do not benefit from this installer, if no please read on.
This option is likely provided by an ExtDN member and allows the installation of your extension via just 1 command. Below are some examples for this.
(essentially all previously pre-configured composer repositories)
sh -ic "$(curl -sS https://raw.githubusercontent.com/extdn/installer-m2/master/bin/oneliner.sh)" -- install fooman/emailattachments-m2:^3.0
sh -ic "$(curl -sS https://raw.githubusercontent.com/extdn/installer-m2/master/bin/oneliner.sh)" -- --template=github --repo-url=https://github.com/fooman/emailattachments-m2.git install fooman/emailattachments-m2:^3.0
sh -ic "$(curl -sS https://raw.githubusercontent.com/extdn/installer-m2/master/bin/oneliner.sh)" -- --template=fooman --repo-url=https://customer-repos.fooman.co.nz/URL-PRIVATE_TOKEN install fooman/emailattachments-m2:^3.0
Download and save the ExtDN_Installer. Ensure it is executable with chmod +x extdn_installer.phar
.
(essentially all previously pre-configured composer repositories)
./extdn_installer.phar -- install fooman/emailattachments-m2:^3.0
./extdn_installer.phar --template=github --repo-url=https://github.com/fooman/emailattachments-m2.git -- install fooman/emailattachments-m2:^3.0
./extdn_installer.phar --template=fooman --repo-url=https://customer-repos.fooman.co.nz/URL-PRIVATE_TOKEN -- install fooman/emailattachments-m2:^3.0
The installer is open to a wide range of sources to install from and is not limited to any specific vendor (nor is ExtDN membership needed). Your package could be available via packagist.org,
Marketplace (repo.magento.com) or Github. Further it will work for any other vendor that supplies their packages via a composer repository url. Simply supply your vendor name in the --template
argument
and provide the repository url via --repo-url
. If your installation is not covered feel free to open a PR that provides a new template.
The installer compares the list of modules before and after installing the extension code to determine which Magento module(s) to enable. This does not work if the just installed extension was previously installed and is still present in the app/etc/config.php file as disabled. The error in this case would be "No new modules detected."
If installation is performed in production mode and an error is encountered the site will remain in developer mode.
No Windows support - see #5