Node.js - Как вводить последовательно, используя spawn или exec? - PullRequest
0 голосов
/ 27 сентября 2018

Я делаю платформу для развертывания веб-приложений, используя heroku API.Чтобы использовать heroku API, необходимо авторизоваться через heroku CLI.Я сделал docker образ, установил heroku CLI Итак, я пытаюсь войти в heroku на докере, используя nodejs.

Heroku login - это команда для входа в heroku в heroku CLI.Это требует последовательных входов.(электронная почта и пароль)

heroku login
> Email: (you need to input email then password)

Но мой код ниже не работает.

var spawn = require('child_process').spawn;

login: function(req, callback) {
    var result = "";
    var heroku_login = spawn('docker', ['exec', '-it', 'my container name', 'heroku', 'login']);

    heroku_login.stdin.setEncoding('utf-8');
    heroku_login.stdin.write(req.heroku_email);
    heroku_login.stdin.write(req.heroku_pwd);

    heroku_login.stdout.on('data', function(data) {
        result += data.toString();
        console.log(result);
    }

    heroku_login.stdout.on('end', function() {
        callback(null, result);
    }
}

Извините за мой английский.Если вы не понимаете моего слова, пожалуйста, дайте мне комментарий.

...