Add environment with releases.

This commit is contained in:
Andrs Montaez 2012-01-08 19:11:36 -02:00
parent a04daec14e
commit f21f63456a
3 changed files with 15 additions and 4 deletions

View file

@ -153,8 +153,14 @@ class Mage_Console
case 'add';
switch ($this->_args[1]) {
case 'environment':
if (isset($this->_args[3]) && ($this->_args[3] == '--with-releases')) {
$withRelases = true;
} else {
$withRelases = false;
}
$task = new Mage_Task_Add;
$task->environment($this->_args[2]);
$task->environment($this->_args[2], $withRelases);
break;
}
break;

View file

@ -1,7 +1,7 @@
<?php
class Mage_Task_Add
{
public function environment($environmentName)
public function environment($environmentName, $withRelases = false)
{
$environmentName = strtolower($environmentName);
$environmentConfigFile = '.mage/config/environment/' . $environmentName . '.yaml';
@ -12,12 +12,18 @@ class Mage_Task_Add
if (file_exists($environmentConfigFile)) {
Mage_Console::output('<light_red>Error!!</light_red> Already exists an environment called <dark_gray>' . $environmentName . '</dark_gray>', 1, 2);
} else {
$releasesConfig = 'releases:' . PHP_EOL
. ' enabled: true' . PHP_EOL
. ' symlink: current' . PHP_EOL
. ' directory: releases' . PHP_EOL;
$baseConfig = '#' . $environmentName . PHP_EOL
. 'deployment:'
. 'deployment:' . PHP_EOL
. ' user: dummy' . PHP_EOL
. ' from: ./' . PHP_EOL
. ' to: /var/www/vhosts/example.com/www' . PHP_EOL
. ' excludes:' . PHP_EOL
. ($withRelases ? $releasesConfig : '')
. 'hosts:' . PHP_EOL
. 'tasks:'
. ' pre-deploy:' . PHP_EOL

View file

@ -9,7 +9,6 @@ releases:
enabled: true
symlink: current
directory: releases
tasks:
hosts:
- s01.example.com
- s02.example.com