Merge pull request #81 from rodmen/master

add user data and message to lock command
This commit is contained in:
Andrés Montañez 2014-06-29 16:51:30 -03:00
commit ec29aa37b8
5 changed files with 33 additions and 5 deletions

View file

@ -104,6 +104,7 @@ class DeployCommand extends AbstractCommand implements RequiresEnvironment
$lockFile = '.mage/' . $this->getConfig()->getEnvironment() . '.lock';
if (file_exists($lockFile)) {
Console::output('<red>This environment is locked!</red>', 1, 2);
echo file_get_contents($lockFile);
return;
}

View file

@ -27,10 +27,22 @@ class LockCommand extends AbstractCommand implements RequiresEnvironment
*/
public function run()
{
Console::output('Your name (enter to leave blank): ', 0, 0);
$name = Console::readInput();
Console::output('Your email (enter to leave blank): ', 0, 0);
$email = Console::readInput();
Console::output('Reason of lock (enter to leave blank): ', 0, 0);
$reason = Console::readInput();
$lockmsg = PHP_EOL;
if ($name) $lockmsg .= 'Locked by ' . $name . ' ';
if ($email) $lockmsg .= '(' . $email . ')';
if ($reason) $lockmsg .= PHP_EOL . $reason . PHP_EOL;
$lockFile = '.mage/' . $this->getConfig()->getEnvironment() . '.lock';
file_put_contents($lockFile, 'Locked environment at date: ' . date('Y-m-d H:i:s'));
file_put_contents($lockFile, 'Locked environment at date: ' . date('Y-m-d H:i:s') . $lockmsg);
Console::output('Locked deployment to <light_purple>' . $this->getConfig()->getEnvironment() . '</light_purple> environment', 1, 2);
}
}
}

View file

@ -37,6 +37,7 @@ class ReleasesCommand extends AbstractCommand implements RequiresEnvironment
$lockFile = '.mage/' . $this->getConfig()->getEnvironment() . '.lock';
if (file_exists($lockFile) && ($subcommand == 'rollback')) {
Console::output('<red>This environment is locked!</red>', 1, 2);
echo file_get_contents($lockFile);
return null;
}
@ -70,4 +71,4 @@ class ReleasesCommand extends AbstractCommand implements RequiresEnvironment
return $result;
}
}
}

View file

@ -37,6 +37,7 @@ class RollbackCommand extends AbstractCommand implements RequiresEnvironment
$lockFile = '.mage/' . $this->getConfig()->getEnvironment() . '.lock';
if (file_exists($lockFile) && ($subcommand == 'rollback')) {
Console::output('<red>This environment is locked!</red>', 1, 2);
echo file_get_contents($lockFile);
return null;
}
@ -59,4 +60,4 @@ class RollbackCommand extends AbstractCommand implements RequiresEnvironment
return $result;
}
}
}

View file

@ -227,6 +227,18 @@ class Console
return self::$logFile;
}
/**
* Read String From Prompt
*/
public static function readInput()
{
$fp = fopen("php://stdin","r");
$line = '';
$line = fgets($fp);
return rtrim($line);
}
/**
* Check Logs
* @param \Mage\Config $config
@ -252,4 +264,5 @@ class Console
}
}
}
}
}