magallanes/README.md

76 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

2011-11-24 21:33:02 +01:00
# Magallanes #
2015-02-21 17:28:47 +01:00
[![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)
2015-02-21 17:28:47 +01:00
2011-11-24 21:33:02 +01:00
### What's Magallanes? ###
2011-11-24 21:37:24 +01:00
Magallanes is a deployment tool for PHP applications; it's quite simple to use and manage.
2011-11-24 21:59:21 +01:00
It will get your application to a safe harbor.
2011-11-24 21:33:02 +01:00
2011-11-24 22:21:44 +01:00
2011-11-24 21:59:21 +01:00
### So, What can it do? ###
2011-11-28 13:49:51 +01:00
You can instruct Magallanes to deploy your code to all the servers you want (via rsync over ssh),
2011-11-24 21:59:21 +01:00
and run tasks for that freshly deployed code.
2011-11-24 21:33:02 +01:00
### 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"
// ...
}
```
2013-12-18 11:15:59 +01:00
Now tell we update the vendors:
```bash
$ php composer update andres-montanez/magallanes
2013-12-18 11:15:59 +01:00
```
And finally we can use Magallanes from the vendor's bin:
```bash
$ bin/mage version
```
2011-11-24 22:21:44 +01:00
### 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.
2011-11-24 21:33:02 +01:00
### Can you give me some examples/ideas? ###
2011-11-24 21:59:21 +01:00
**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!
2011-11-24 21:37:24 +01:00
Like this:
```
2011-11-24 22:32:24 +01:00
$ mage deploy to:production
2011-11-24 21:33:02 +01:00
```
### What's this sorcery?! ###
2011-11-24 21:59:21 +01:00
Easy boy. It's not sorcery, just some *technomagick*!
2011-11-24 22:18:12 +01:00
2011-11-24 21:59:21 +01:00
In Magallanes you define environments like *testing*, *staging*, or *production* like on the example above.
2013-12-18 01:01:48 +01:00
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).
2011-11-24 22:42:01 +01:00
And you are done!
2011-11-24 21:33:02 +01:00
2011-11-24 22:21:44 +01:00
2011-11-24 21:33:02 +01:00
### This is awesome! Where can I learn more? ###
2013-12-18 01:01:48 +01:00
You can read the whole source code (naaah!); or checkout the documentation at: http://magephp.com
2011-11-24 21:33:02 +01:00
2011-11-24 22:18:12 +01:00
Enjoy your magic trip with **Magallanes** to the land of the easily deployable apps!!
2014-08-11 15:17:52 +02:00
### "develop" branch ###
Please, all pull request now must be on the develop branch. Thanks!
2015-02-21 17:28:03 +01:00