Browse Source

Merge pull request #49 from Osukaru/master

Added identity file option for ssh and scp commands
1.0
Andrés Montañez 11 years ago
parent
commit
4d45c30bd4
  1. 10
      Mage/Config.php
  2. 2
      Mage/Task/AbstractTask.php
  3. 2
      Mage/Task/BuiltIn/Deployment/Strategy/RsyncTask.php
  4. 2
      Mage/Task/BuiltIn/Deployment/Strategy/TarGzTask.php
  5. 2
      bin/mage

10
Mage/Config.php

@ -345,6 +345,16 @@ class Config
return $info[1]; return $info[1];
} }
/**
* Get the general Host Identity File Option
*
* @return string
*/
public function getHostIdentityFileOption()
{
return $this->deployment('identity-file') ? '-i '.$this->deployment('identity-file').' ': '';
}
/** /**
* Get the current Host * Get the current Host
* *

2
Mage/Task/AbstractTask.php

@ -192,7 +192,7 @@ abstract class AbstractTask
// if general.yml includes "ssy_needs_tty: true", then add "-t" to the ssh command // if general.yml includes "ssy_needs_tty: true", then add "-t" to the ssh command
$needs_tty = ($this->getConfig()->general('ssh_needs_tty',false) ? '-t' : ''); $needs_tty = ($this->getConfig()->general('ssh_needs_tty',false) ? '-t' : '');
$localCommand = 'ssh ' . $needs_tty . ' -p ' . $this->getConfig()->getHostPort() . ' ' $localCommand = 'ssh ' . $this->getConfig()->getHostIdentityFileOption() . $needs_tty . ' -p ' . $this->getConfig()->getHostPort() . ' '
. '-q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ' . '-q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no '
. $this->getConfig()->deployment('user') . '@' . $this->getConfig()->getHostName() . ' ' . $this->getConfig()->deployment('user') . '@' . $this->getConfig()->getHostName() . ' '
. '"cd ' . rtrim($this->getConfig()->deployment('to'), '/') . $releasesDirectory . ' && ' . '"cd ' . rtrim($this->getConfig()->deployment('to'), '/') . $releasesDirectory . ' && '

2
Mage/Task/BuiltIn/Deployment/Strategy/RsyncTask.php

@ -94,7 +94,7 @@ class RsyncTask extends AbstractTask implements IsReleaseAware
} }
$command = 'rsync -avz ' $command = 'rsync -avz '
. '--rsh="ssh -p' . $this->getConfig()->getHostPort() . '" ' . '--rsh="ssh ' . $this->getConfig()->getHostIdentityFileOption() . '-p' . $this->getConfig()->getHostPort() . '" '
. $this->excludes(array_merge($excludes, $userExcludes)) . ' ' . $this->excludes(array_merge($excludes, $userExcludes)) . ' '
. $this->getConfig()->deployment('from') . ' ' . $this->getConfig()->deployment('from') . ' '
. $this->getConfig()->deployment('user') . '@' . $this->getConfig()->getHostName() . ':' . $deployToDirectory; . $this->getConfig()->deployment('user') . '@' . $this->getConfig()->getHostName() . ':' . $deployToDirectory;

2
Mage/Task/BuiltIn/Deployment/Strategy/TarGzTask.php

@ -89,7 +89,7 @@ class TarGzTask extends AbstractTask implements IsReleaseAware
$result = $this->runCommandLocal($command); $result = $this->runCommandLocal($command);
// Copy Tar Gz to Remote Host // Copy Tar Gz to Remote Host
$command = 'scp -P ' . $this->getConfig()->getHostPort() . ' ' . $localTarGz . '.tar.gz ' $command = 'scp ' . $this->getConfig()->getHostIdentityFileOption() . '-P ' . $this->getConfig()->getHostPort() . ' ' . $localTarGz . '.tar.gz '
. $this->getConfig()->deployment('user') . '@' . $this->getConfig()->getHostName() . ':' . $deployToDirectory; . $this->getConfig()->deployment('user') . '@' . $this->getConfig()->getHostName() . ':' . $deployToDirectory;
$result = $this->runCommandLocal($command) && $result; $result = $this->runCommandLocal($command) && $result;

2
bin/mage

@ -13,7 +13,7 @@ date_default_timezone_set('UTC');
$baseDir = dirname(dirname(__FILE__)); $baseDir = dirname(dirname(__FILE__));
define('MAGALLANES_VERSION', '1.0.1'); define('MAGALLANES_VERSION', '1.0.2');
define('MAGALLANES_DIRECTORY', $baseDir); define('MAGALLANES_DIRECTORY', $baseDir);
// Preload // Preload

Loading…
Cancel
Save