diff --git a/Mage/Config.php b/Mage/Config.php
index ac5c253..3d5740f 100644
--- a/Mage/Config.php
+++ b/Mage/Config.php
@@ -71,6 +71,19 @@ class Mage_Config
return $this;
}
+ public function getHostName()
+ {
+ $info = explode(':', $this->_host);
+ return $info[0];
+ }
+
+ public function getHostPort()
+ {
+ $info = explode(':', $this->_host);
+ $info[] = $this->deployment('port', '22');
+ return $info[1];
+ }
+
public function getHost()
{
return $this->_host;
diff --git a/Mage/Task/BuiltIn/Deployment/Rsync.php b/Mage/Task/BuiltIn/Deployment/Rsync.php
index 3ec972a..07e0bc4 100644
--- a/Mage/Task/BuiltIn/Deployment/Rsync.php
+++ b/Mage/Task/BuiltIn/Deployment/Rsync.php
@@ -36,7 +36,7 @@ class Mage_Task_BuiltIn_Deployment_Rsync
}
$command = 'rsync -avz '
- . '--rsh="ssh -p' . $this->_config->deployment('port', '22') . '" '
+ . '--rsh="ssh -p' . $this->_config->getHostPort() . '" '
. $this->_excludes(array_merge($excludes, $userExcludes)) . ' '
. $this->_config->deployment('from') . ' '
. $this->_config->deployment('user') . '@' . $this->_config->getHost() . ':' . $deployToDirectory;
diff --git a/Mage/Task/Deploy.php b/Mage/Task/Deploy.php
index 74c4363..59ba9d4 100644
--- a/Mage/Task/Deploy.php
+++ b/Mage/Task/Deploy.php
@@ -28,7 +28,7 @@ class Mage_Task_Deploy
$tasks = 0;
$completedTasks = 0;
- Mage_Console::output('Deploying to ' . $host . '');
+ Mage_Console::output('Deploying to ' . $config->getHostName() . '');
$tasksToRun = $config->getTasks();
array_unshift($tasksToRun, 'deployment/rsync');
@@ -40,7 +40,7 @@ class Mage_Task_Deploy
if (count($tasksToRun) == 0) {
Mage_Console::output('Warning! No Deployment tasks defined.', 2);
- Mage_Console::output('Deployment to ' . $host . ' skipped!', 1, 3);
+ Mage_Console::output('Deployment to ' . $config->getHostName() . ' skipped!', 1, 3);
} else {
foreach ($tasksToRun as $taskName) {
@@ -65,7 +65,7 @@ class Mage_Task_Deploy
$tasksColor = 'red';
}
- Mage_Console::output('Deployment to ' . $host . ' compted: <' . $tasksColor . '>' . $completedTasks . '/' . $tasks . '' . $tasksColor . '> tasks done.', 1, 3);
+ Mage_Console::output('Deployment to ' . $config->getHostName() . ' compted: <' . $tasksColor . '>' . $completedTasks . '/' . $tasks . '' . $tasksColor . '> tasks done.', 1, 3);
}
}
}
diff --git a/Mage/Task/TaskAbstract.php b/Mage/Task/TaskAbstract.php
index 06289b4..d8c78b1 100644
--- a/Mage/Task/TaskAbstract.php
+++ b/Mage/Task/TaskAbstract.php
@@ -45,7 +45,7 @@ abstract class Mage_Task_TaskAbstract
$releasesDirectory = '';
}
- $localCommand = 'ssh -p ' . $this->_config->deployment('port', '22') . ' '
+ $localCommand = 'ssh -p ' . $this->_config->getHostPort() . ' '
. '-q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no '
. $this->_config->deployment('user') . '@' . $this->_config->getHost() . ' '
. '"cd ' . rtrim($this->_config->deployment('to'), '/') . $releasesDirectory . ' && '
diff --git a/Mage/Task/Update.php b/Mage/Task/Update.php
index 3f6918b..2f73d8e 100644
--- a/Mage/Task/Update.php
+++ b/Mage/Task/Update.php
@@ -16,7 +16,7 @@ class Mage_Task_Update
if ($result == true) {
Mage_Console::output('OK' . PHP_EOL, 0);
} else {
- Mage_Console::output( 'FAIL' . PHP_EOL, 0);
+ Mage_Console::output('FAIL' . PHP_EOL, 0);
}
}
diff --git a/bin/mage b/bin/mage
index cb35f82..0d95d4b 100755
--- a/bin/mage
+++ b/bin/mage
@@ -1,5 +1,5 @@
#!/bin/sh
-#VERSION:0.9.3
+#VERSION:0.9.4
SCRIPT=$(readlink -f $0)
DIR=$(dirname $SCRIPT)
diff --git a/bin/mage.php b/bin/mage.php
index 9afb0c2..9286041 100644
--- a/bin/mage.php
+++ b/bin/mage.php
@@ -24,7 +24,7 @@ date_default_timezone_set('UTC');
$baseDir = dirname(dirname(__FILE__));
-define('MAGALLANES_VERSION', '0.9.3');
+define('MAGALLANES_VERSION', '0.9.4');
require_once $baseDir . '/Mage/spyc.php';
require_once $baseDir . '/Mage/Autoload.php';
diff --git a/docs/example-config/.mage/config/environment/production.yml b/docs/example-config/.mage/config/environment/production.yml
index 07d858d..94a263a 100644
--- a/docs/example-config/.mage/config/environment/production.yml
+++ b/docs/example-config/.mage/config/environment/production.yml
@@ -15,7 +15,7 @@ releases:
symlink: current
directory: releases
hosts:
- - s01.example.com
+ - s01.example.com:22
- s02.example.com
tasks:
pre-deploy: