Как вернуть JSON ответ в ssh2 nodejs после успешного завершения задания - PullRequest
0 голосов
/ 10 января 2020

Я хочу сделать какую-то задачу на удаленном сервере. Но я не получаю действительный JSON ответ. Я пробовал разные способы получения расширенного ответа JSON, но он не работает.

Вот намерение Google, я просто хочу развернуть его на удаленном сервере через Google Assistant:

    async  DoDeployIntent() {

            const status = await doFullDeploy();
            console.log(status);
            this.tell(status);
    }
    //Here is ssh connection
    ssh.connect({
        host: '35.239.181.109',
        port: 22,
        username: 'common_dkumar',
        passphrase: '12345',
        privateKey: './ssh/id_rsa'
    });


    //Here is Async function:
    const doFullDeploy = async () => {
        return JSON.stringify(ssh.execCommand('sudo php bin/magento s:up', {cwd: '/var/www/html'}).then(function (result) {
            if (result.stdout) {
                return JSON.stringify('Deploy Success');
            }
            if (result.stderr) {
                return JSON.stringify('Deploy Failed');
            }
        }))
    }

Моя проблема в том, что я не получаю действительный JSON расширенный ответ на выполненную задачу или потерпел неудачу. Я также попробовал следующее, но я не получил действительный ответ JSON.

    const doFullDeploy = async () => {
        var Client = require('ssh2').Client;
        var conn = new Client();
        return conn.on('ready', function () {
            conn.exec('sudo php /var/www/html/bin/magento deploy:mode:show', function (err, stream) {
                return JSON.stringify('Maintence Mode Enable Failed');
            });
        }).connect({
            host: '35.239.181.109',
            port: 22,
            username: 'common_dkumar',
            passphrase: '12345',
            privateKey: require('fs').readFileSync('./ssh/id_rsa')
        });
    }

Ошибка потока Digi:

Failed to parse Dialogflow response into AppResponse because of
invalid platform response: Could not find a RichResponse or
SystemIntent in the platform response for agentId:
54e79a5d-97f9-49f4-981d-da0528d9e8fa and intentId:
181fa007-e5b8-4866-b8ca-6fbcb53c4f6b. WebhookStatus: message: "Webhook
execution successful" .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...