Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/terminal42/mage-tools
Tools and tasks for deployment with Magallanes (magephp.com)
https://github.com/terminal42/mage-tools
Last synced: 23 days ago
JSON representation
Tools and tasks for deployment with Magallanes (magephp.com)
- Host: GitHub
- URL: https://github.com/terminal42/mage-tools
- Owner: terminal42
- Created: 2017-02-02T08:38:09.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-10-02T15:12:34.000Z (over 6 years ago)
- Last Synced: 2024-11-29T13:57:45.435Z (about 1 month ago)
- Language: PHP
- Size: 42 KB
- Stars: 7
- Watchers: 7
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Mage Tools for deployment
=========================A set of predefined tasks and helpful libraries for the [Magallanes](http://magephp.com/) PHP Deployment Tool.
Most of the tasks were created to ease the deployment of [Symfony](http://symfony.com/)
and [Contao](https://contao.org/) applications. Check the list below for a full list of available tasks
and their configurations.Usage
-----To use the tasks simply added them to your ```.mage.yml``` file. The recommended setup is:
```yaml
pre-deploy:
- 'Terminal42\MageTools\Task\IntegrityCheck\ContaoTask'
on-deploy:
# ... symlinks, composer install ...
- 'Terminal42\MageTools\Task\Symfony\PlatformReleaseTask'
# ... symfony cache warmup, symfony assets install ...
- 'Terminal42\MageTools\Task\Maintenance\LockTask'
on-release:
- 'Terminal42\MageTools\Task\Symfony\AcceleratorCacheClearTask'
post-release:
- 'Terminal42\MageTools\Task\Backup\DatabaseBackupTask'
- 'Terminal42\MageTools\Task\Doctrine\MigrateTask'
- 'Terminal42\MageTools\Task\Doctrine\CacheClearTask'
# ... symfony cache clear ...
- 'Terminal42\MageTools\Task\Maintenance\UnlockTask'
```Available tasks
---------------##### Terminal42\MageTools\Task\Symfony\AcceleratorCacheClearTask
Clears the accelerator cache. The [AcceleratorCacheBundle](https://github.com/Smart-Core/AcceleratorCacheBundle)
is required for this to work.```yaml
on-release:
- 'Terminal42\MageTools\Task\Symfony\AcceleratorCacheClearTask': { flags: "--opcode" }
```##### Terminal42\MageTools\Task\Symfony\PlatformReleaseTask
Updates the platform version in the parameters.yml file.
Uses `git describe` to fetch the version internally and adds the output
as `platform_version` to your `parameters.yml`.```yaml
on-deploy:
- 'Terminal42\MageTools\Task\Symfony\PlatformReleaseTask'
```### Backup
##### Terminal42\MageTools\Task\Backup\DatabaseBackupTask
Runs the database backup task using [backup-manager/symfony bundle](https://github.com/backup-manager/symfony).
This task should be run before ane database changes are made. The parameters are reflecting the bundle
configuration under `bm_backup_manager`.```yaml
post-release:
- 'Terminal42\MageTools\Task\Backup\DatabaseBackupTask': { database: 'production', storage: 'local' }# Optional parameters:
# - filename (defaults to: Y-m-d-H:i:s.sql)
# - compression (defaults to: none)
# - flags (defaults to: none)
```### Contao
##### Terminal42\MageTools\Task\Contao\AutomatorTask
Runs the Contao automator task. You must provide the task name.
Execute the Run "vendor/bin/contao-console contao:automator" command to see available tasks.```yaml
post-release:
- 'Terminal42\MageTools\Task\Contao\AutomatorTask': { task: 'purgeSearchCache', env: 'prod' }
```### Doctrine
##### Terminal42\MageTools\Task\Doctrine\CacheClearTask
Clear the Doctrine metadata, query and result cache.
```yaml
post-release:
- 'Terminal42\MageTools\Task\Doctrine\CacheClearTask': { env: 'prod' }
```##### Terminal42\MageTools\Task\Doctrine\MigrateTask
Run the Doctrine migrations.
```yaml
post-release:
- 'Terminal42\MageTools\Task\Doctrine\MigrateTask': { env: 'prod' }
```### Integrity check
##### Terminal42\MageTools\Task\IntegrityCheck\ContaoTask
Checks Contao by executing ```contao:version``` command in Symfony's console.
```yaml
pre-deploy:
- 'Terminal42\MageTools\Task\IntegrityCheck\ContaoTask'
```### Maintenance
##### Terminal42\MageTools\Task\Maintenance\LockTask
Enable the maintenance mode.
```yaml
on-deploy:
- 'Terminal42\MageTools\Task\Maintenance\LockTask': { env: 'prod' }
```##### Terminal42\MageTools\Task\Maintenance\UnlockTask
Disable the maintenance mode.
```yaml
post-release:
- 'Terminal42\MageTools\Task\Maintenance\UnlockTask': { env: 'prod' }
```Custom commands
---------------### Deploy all
Deploys system to all configured environments.
```
vendor/bin/mage-terminal42 deploy-all
```### Connect via SSH
Allows to open the SSH connection based on configured environments.
Basic usage (will take the first host defined for the environment):
```
vendor/bin/mage-terminal42 ssh production
```For multiple hosts given you have config:
```yaml
hosts:
- webserver1
- webserver2
- webserver3
```You can connect to them using:
```
vendor/bin/mage-terminal42 ssh --host=webserver3 production
vendor/bin/mage-terminal42 ssh --host=2 production
```