vaimo / magento-composer-plugin
Implements common functionality that is useful when managing a Composer project that includes any edition of Magento 2
Requires
- composer-plugin-api: ^1.0|^2.0
- magento/magento2-base: *
- magento/module-deploy: 100.*
Requires (Dev)
- composer/composer: ~1.0.0@dev
- magento/zendframework1: ~1.12.16
- phpunit/phpunit: 4.1.0
- zendframework/zend-mvc: ~2.4.6
- zendframework/zend-servicemanager: ~2.4.6
This package is auto-updated.
Last update: 2023-09-19 22:39:47 UTC
README
Implements common functionality that is useful when managing a Composer project that includes any edition of Magento 2.
Features
- Automatically creates a database and installs Magento 2 after running composer install
Supports
- Magento 2.0
- Magento 2.1
- Magento 2.2
- Magento 2.3
Usage
Require vaimo/magento-composer-plugin in your Magento 2 project by calling:
composer require vaimo/magento-composer-plugin
Example composer.json
#!json
{
...
"require": {
"magento/product-community-edition": "~2.0",
"vaimo/magento-composer-plugin": "~2.1"
}
...
}
Magento admin user login credentials
- Username: admin
- Password: test123
Note
The plugin will use the database credentials found in ~/.my.cnf
so I would advice you to not use the
plugin to install production sites unless you know what you are doing.
Plugin events used
- post-install-cmd: Automatically creates a database and installs Magento 2.
Configuration
The plugin can be configured by using environment variables and / or setting values in the extra
section in composer.json
Environment variables
All environment variables should be in uppercase, prefixed with MCP_
and -
replaced with _
. Example:
MCP_DB_NAME=project_database
MCP_USE_REWRITES=0
composer.json - extra section
To configure the plugin in a Composer project, specify config values in the extra section inside of
the magento-composer-plugin
section. Example:
#!json
{
"extra": {
"magento-composer-plugin": {
"db-name": "project_database"
...
}
}
}
Available configuration
(value) = default value
General configuration
- 'install-magento' (true). If Magento should be installed
- 'cleanup-database' (false). Cleanup the database before installation
- 'deploy-mode' (default). Set deploy mode after installation. Available modes are 'developer' and 'production'
Use Composer --no-interaction / COMPOSER_NO_INTERACTION
if you want to disable interaction.
Installer data
- 'fqdn' (taken from hostname --fqdn)
- 'base-url'
- 'backend-frontname' (admin)
- 'session-save' (files)
- 'db-host' (localhost)
- 'db-name' (project directory)
- 'db-user' (random)
- 'db-password' (random)
- 'db-model' (mysql4)
- 'db-engine' (innodb)
- 'db-prefix' ('')
- 'db-init-statements' (SET NAMES utf8;)
- 'admin-firstname' (Magento)
- 'admin-lastname' (User)
- 'admin-email' (user@example.com)
- 'admin-user' (admin)
- 'admin-password' (test123)
- 'language' => (en_US)
- 'currency' => (USD)
- 'timezone' => (America/Chicago)
- 'use-rewrites' => (true)
Development
Test commands
To manually test included commands, the easiest way is to have the plugin installed in a project and use
the run-script
command in Composer. To test the post-install-cmd
:
composer run-script post-install-cmd
Run tests
make test