Browse Source

Deploy Summary info. Deploy lock: only run one instance at a time.

1.0
Andrés Montañez 11 years ago
parent
commit
d5ebf6e6e3
  1. 47
      Mage/Command/BuiltIn/Deploy.php
  2. 9
      Mage/Console.php

47
Mage/Command/BuiltIn/Deploy.php

@ -25,17 +25,49 @@ class Mage_Command_BuiltIn_Deploy
public function run()
{
// Check if Environment is not Locked
$lockFile = '.mage/' . $this->getConfig()->getEnvironment() . '.lock';
if (file_exists($lockFile)) {
Mage_Console::output('<red>This environment is locked!</red>', 1, 2);
return;
}
// Check for running instance and Lock
if (file_exists('.mage/~working.lock')) {
Mage_Console::output('<red>There is already an instance of Magallanes running!</red>', 1, 2);
return;
} else {
touch('.mage/~working.lock');
}
// Release ID
$this->getConfig()->setReleaseId(date('YmdHis'));
$failedTasks = 0;
$this->_startTime = time();
// Deploy Summary
Mage_Console::output('<dark_gray>Deploy summary</dark_gray>', 1, 1);
// Deploy Summary - Environment
Mage_Console::output('<dark_gray>Environment:</dark_gray> <purple>' . $this->getConfig()->getEnvironment() . '</purple>', 2, 1);
$lockFile = '.mage/' . $this->getConfig()->getEnvironment() . '.lock';
if (file_exists($lockFile)) {
Mage_Console::output('<red>This environment is locked!</red>', 1, 2);
return;
// Deploy Summary - Releases
if ($this->getConfig()->release('enabled', false)) {
Mage_Console::output('<dark_gray>Release ID:</dark_gray> <purple>' . $this->getConfig()->getReleaseId() . '</purple>', 2, 1);
}
// Deploy Summary - SCM
if ($this->getConfig()->deployment('scm', false)) {
$scmConfig = $this->getConfig()->deployment('scm');
if (isset($scmConfig['branch'])) {
Mage_Console::output('<dark_gray>SCM Branch:</dark_gray> <purple>' . $scmConfig['branch'] . '</purple>', 2, 1);
}
}
// Deploy Summary - Separator Line
Mage_Console::output('', 0, 1);
$this->_startTime = time();
// Run Pre-Deployment Tasks
$this->_runNonDeploymentTasks('pre-deploy', $this->getConfig(), 'Pre-Deployment');
@ -168,6 +200,11 @@ class Mage_Command_BuiltIn_Deploy
// Send Notifications
$this->_sendNotification();
// Unlock
if (file_exists('.mage/~working.lock')) {
unlink('.mage/~working.lock');
}
}
/**

9
Mage/Console.php

@ -12,6 +12,15 @@ class Mage_Console
*/
public function run($arguments)
{
register_shutdown_function(function() {
// Only Unlock if there was an error
if (error_get_last() !== null) {
if (file_exists('.mage/~working.lock')) {
unlink('.mage/~working.lock');
}
}
});
$configError = false;
try {
// Load Config

Loading…
Cancel
Save