Magallanes is a deployment tool for PHP applications and written in PHP, also known as MagePHP. Very simple to use and manage but very powerful in features that you will need to give a try since there are already a good number of PHP deployment tools such as Phing, Capistrano, Chef or Deployer…

Mage is a command line utility which require at least PHP 5.3.  You can instruct Magallanes to deploy your code to all the servers you want via rsync over ssh, and run tasks for that freshly deployed code. You can get it using its own installer or by adding to your composer.json :

    {
        "require-dev": {
            "andres-montanez/magallanes": "~1.0.1"
        }
    }

Then running :

php composer update andres-montanez/magallanes

To use Magallanes you need to first create and configure your project using for example :

 mage init --name="My sample app" --email="[email protected]"

Then create your first environment using :

mage add environment --name="production" --enableReleases

This will create the file .mage/config/environments/production.yml. that you have to edit that  in order to configure the environment.Then you can push your application to production using :

 mage deploy to:production

You can do the same thing for production, development or other deployment servers, and you can choose the strategy you want to deploy your application by configuring the deployment “strategy” parameter, , which currently takes four options: rsync, targz, git-rebase, or disabled.

Magallanes allow you to work with releases, that you configure with four parameters : enabled, max (max number of releases to be saved), symlink, and directory. Once configured, you can easily list available releases for an environment, deploy, override, and even rollback.

You can also instruct Magallanes to run tasks before the deployment starts, such for doing vendors install, and after the deployment is done for example to clear cache. Four stages overall are available : Pre-deploy, On-Deploy, Post-release and Post-Deploy.

Best of all, Magallanes come with built-in tasks to make deployment even easier incluing : Software change manager (SCM) which currently support only Git, Symfony 2, Magento, and Composer. You can even create your custom tasks and commands to personalize it for your own use.

A must have tool that you definitely have to give it a try, find out more at http://magephp.com/

LEAVE A REPLY

Please enter your comment!
Please enter your name here