Browse Source

Add environment with releases.

1.0
Andrs Montaez 13 years ago
parent
commit
f21f63456a
  1. 8
      Mage/Console.php
  2. 10
      Mage/Task/Add.php
  3. 1
      docs/example-config/.mage/config/environment/production.yaml

8
Mage/Console.php

@ -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;

10
Mage/Task/Add.php

@ -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

1
docs/example-config/.mage/config/environment/production.yaml

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

Loading…
Cancel
Save