thelfensdrfer/yii2-ssh-console

SSH library for yii2 console commands

Installs: 1 014

Dependents: 0

Stars: 7

Watchers: 4

Forks: 3

Language: PHP

1.0.4 2014-04-25 10:34 UTC

README

Controller with ssh commands for the yii2 console.

Example

<?php namespace app\commands;

use \yii2sshconsole\Controller;

class DeployController extends Controller
{
    public $defaultAction = 'exec';

    public function actionExec()
    {
        $this->connect('example.com', [
            'username' => 'myusername',
            'password' => 'mypassword', // optional
        ]);

        // Or via private key
        /*
        $this->connect('example.com', [
            'username' => 'myusername',
            'key' => '/path/to/private.key',
            'password' => 'mykeypassword', // optional
        ]);
        */

        $output = $this->run('echo "test"');
        echo 'Output: ' . $output; // Output: test

        $output = $this->run([
            'cd /path/to/install',
            './put_offline.sh',
            'git pull -f',
            'composer install',
            './yii migrate --interactive=0',
            './build.sh',
            './yii cache/flush',
            './put_online.sh',
        ]);

        // Or via callback
        $this->run([
            'cd /path/to/install',
            './put_offline.sh',
            'git pull -f',
            'composer install',
            './yii migrate --interactive=0',
            './build.sh',
            './yii cache/flush',
            './put_online.sh',
        ], function($line) {
            echo $line;
        });
    }
}

And then in the local console:

./yii deploy