magallanes/README.md
Carsten Blüm 13fbe3e2dd Fix Composer version constraint
“~1.0.*” results in a Composer throwing an UnexpectedValueException
2015-12-11 09:35:50 +01:00

76 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Magallanes #
[![SensioLabsInsight](https://insight.sensiolabs.com/projects/ed0de53a-a12e-459b-9464-34def5907b56/mini.png)](https://insight.sensiolabs.com/projects/ed0de53a-a12e-459b-9464-34def5907b56)
[![Build Status](https://travis-ci.org/andres-montanez/Magallanes.svg?branch=master)](https://travis-ci.org/andres-montanez/Magallanes)
[![Coverage Status](https://coveralls.io/repos/andres-montanez/Magallanes/badge.svg?branch=master)](https://coveralls.io/r/andres-montanez/Magallanes?branch=master)
### What's Magallanes? ###
Magallanes is a deployment tool for PHP applications; it's quite simple to use and manage.
It will get your application to a safe harbor.
### So, What can it do? ###
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.
### How can I install it via composer? ###
Simply add the following dependency to your projects composer.json file:
```js
"require-dev": {
// ...
"andres-montanez/magallanes": "~1.0"
// ...
}
```
Now tell we update the vendors:
```bash
$ php composer update andres-montanez/magallanes
```
And finally we can use Magallanes from the vendor's bin:
```bash
$ bin/mage version
```
### System-wide installation with composer ###
```bash
$ composer global require "andres-montanez/magallanes=~1.0"
```
Make sure you have ~/.composer/vendor/bin/ in your path.
You can now use Magallanes by using the ````mage```` command.
### Can you give me some examples/ideas? ###
**Sure!**
Suppose you have a checkout of your app and you have to deploy it to four servers;
and after each deploy you have to run some boring tasks, like fixing file permissions, creating symlinks, etc.
You can define all this on Magallanes and with *just one command* you can do all this at once!
Like this:
```
$ mage deploy to:production
```
### What's this sorcery?! ###
Easy boy. It's not sorcery, just some *technomagick*!
In Magallanes you define environments like *testing*, *staging*, or *production* like on the example above.
Then, on that environment, you can configure a setup specifying to which hosts you want to deploy and what tasks to run (*after*, *on*, and *before* deploying).
And you are done!
### This is awesome! Where can I learn more? ###
You can read the whole source code (naaah!); or checkout the documentation at: http://magephp.com
Enjoy your magic trip with **Magallanes** to the land of the easily deployable apps!!
### "develop" branch ###
Please, all pull request now must be on the develop branch. Thanks!