Magento 2 uses composer for downloading and installing external dependencies. However one can easily install extensions using composer. This article highlights the steps required to deploy your module directly from git.
Adding composer instructions to module
In the root folder of the extension add a composer.json
file with the following basic information.
{ "name": "<vendor in small case>/<extension code in small case>", "description": "<extension description>", "require": { "php": "~5.5.0|~5.6.0", "magento/framework": "<Magento minimum version>", "magento/magento-composer-installer": "*" }, "type": "magento2-module", "version": "<extension version>", "license": [ "OSL-3.0", "AFL-3.0" ], "extra": { "map": [ [ "app/code<vendor in Camel Case>/<extension code in Camel Case>"/*", "<vendor in Camel Case>/<extension code in Camel Case>" ] ] } }
Upload the code to Git.
Registering the git repository in composer
In the Magento command line run the command
composer config repositories.vcs git <url to the git repository>
Installing / Updating the module
To install or update the module run the command
composer require <vendor in small case>/<extension code in small case>:dev-<branch>
Note: Composer by default will search for the extension version under the git Tags. This can be annoying during development phases where the code might be changing with fixes. To instruct Composer to download the code from a branch, the branch name needs to be prefixed with ‘dev-‘
References
Loading a package from a VCS repository
Have Composer use development branches