magallanes/README.md

64 lines
2.1 KiB
Markdown
Raw Normal View History

2011-11-24 21:33:02 +01:00
# Magallanes #
### 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": {
// ...
"andres-montanez/magallanes": "dev-master"
// ...
}
```
Now tell composer to download the bundle by running the command:
```bash
$ php composer.phar update andres-montanez/magallanes
```
2011-11-24 22:21:44 +01:00
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
```
2011-11-24 22:21:44 +01:00
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.
2011-11-24 22:42:01 +01:00
Then, on that environment, you can configure a setup specifing to which hosts you want to deploy and what tasks to run (*after*, *on*, and *before* deploying).
And you are done!
2011-11-24 21:33:02 +01:00
2011-11-24 22:21:44 +01:00
2011-11-24 22:42:01 +01:00
### And what spells... tasks! What tasks has it built in? ###
2011-11-24 21:59:21 +01:00
Just a few, for now...
2011-11-24 22:25:01 +01:00
2011-11-24 22:32:24 +01:00
- **deployment/rsync** - This task is for deploying your code to the remote servers.
2013-03-22 09:29:40 +01:00
- **scm/update** - This task is for updating (git/svn) your base working copy.
2011-11-24 21:33:02 +01:00
2013-05-01 18:20:26 +02:00
But that's not all! You can create your own tasks, and execute commands on your working copy and in your deployed code!
2011-11-24 22:42:01 +01:00
Also we are working on creating more built in tasks.
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? ###
2012-01-15 02:56:56 +01:00
You can read the whole source code (naaah!); or checkout the documentation wiki at: http://magallanes.zenreworks.com/wiki
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!!