function testDestinationIsValid() { $testdir = sys_get_temp_dir() . "/testdirtocreate"; $destination = \Terminus\Utils\destination_is_valid($testdir); $this->assertFileExists($testdir); $this->assertEquals($testdir, $destination); }
/** * Mount a site with sshfs * * ## OPTIONS * * [--site=<site>] * : Site to deploy from * * --destination=<path> * : local directory to mount * * [--env=<env>] * : Environment (dev,test) * **/ public function mount($args, $assoc_args) { exec("which sshfs", $stdout, $exit); if ($exit !== 0) { Terminus::error("Must install sshfs first"); } $destination = \Terminus\Utils\destination_is_valid($assoc_args['destination']); $site = SiteFactory::instance(Input::site($assoc_args)); $env = Input::env($assoc_args, 'env'); // Darwin check ... not sure what this is really ... borrowed from terminus 1 $darwin = false; exec('uname', $output, $ret); if (is_array($output) && isset($output[0]) && strpos($output[0], 'Darwin') !== False) { $darwin = True; } // @todo I'd prefer this was done with sprintf for a little validation $user = $env . '.' . $site->getId(); $host = 'appserver.' . $env . '.' . $site->getId() . '.drush.in'; $darwin_args = $darwin ? '-o defer_permissions ' : ''; $cmd = "sshfs " . $darwin_args . "-p 2222 {$user}@{$host}:./ {$destination}"; exec($cmd, $stdout, $exit); if ($exit !== 0) { print_r($stdout); Terminus::error("Couldn't mount {$destination}"); } Terminus::success("Site mounted to %s. To unmount, run: umount %s ( or fusermount -u %s ).", array($destination, $destination, $destination)); }
/** * Mount a site with sshfs * * ## OPTIONS * * [--site=<site>] * : Site to deploy from * * --destination=<path> * : local directory to mount * * [--env=<env>] * : Environment (dev,test) * **/ public function mount($args, $assoc_args) { exec('which sshfs', $stdout, $exit); if ($exit !== 0) { Terminus::error('Must install sshfs first'); } $destination = \Terminus\Utils\destination_is_valid($assoc_args['destination']); $site = $this->sites->get(Input::sitename($assoc_args)); $env = Input::env($assoc_args, 'env'); exec('uname', $output, $ret); $darwin = ''; if (is_array($output) && isset($output[0]) && strpos($output[0], 'Darwin') !== false) { $darwin = '-o defer_permissions '; } $user = $env . '.' . $site->get('id'); $host = sprintf('appserver.%s.%s.drush.in', $env, $site->get('id')); $cmd = sprintf('sshfs %s -p 2222 %s@%s:./ %s', $darwin, $user, $host, $destination); exec($cmd, $stdout, $exit); if ($exit != 0) { print_r($stdout); Terminus::error("Couldn't mount {$destination}"); } Terminus::success('Site mounted to %s. To unmount, run: umount %s (or fusermount -u %s).', array($destination, $destination, $destination)); }