Skip to content

Interactive command output not shown #3667

@ochorocho

Description

@ochorocho
  • Deployer version: 7.3.1

  • Deployment OS: php:8.1-cli-alpine (Docker)

I have the following task. This task will simply run ./vendor/bin/typo3 setup on the remote server using symfony/process:

task('typo3:setup-if-needed', function () {
    cd('{{release_path}}');
    $decorator = output()->isDecorated();
    set('decorator', false);
    $remote = get('remote_user') . '@' . get('hostname');
    $binary = get('release_path') . '/vendor/bin/typo3';
    $process = new Process(['ssh', '-t', $remote,  $binary, 'setup']);
    $process->setTty(true);
    $process->run();
    set('decorator', $decorator);
});

This command is interactive, so user input ist required.

I tried using the run('{{bin/typo3}} setup'); and set ssh_arguments: ['-tt'] function provided by deployer, but this leaves the cli stuck without showing the interactive questions:
Bildschirmfoto 2023-08-10 um 09 15 09

Without the ssh_arguments: ['-tt'] the task fails:

[staging] ssh '-A' '-o' 'ControlMaster=auto' '-o' 'ControlPersist=60' '-o' 'ControlPath=~/.ssh/redittemplate@template.knallimall.org' 'redittemplate@template.knallimall.org' ': a9ba5c417eb370a0e4ae; bash -ls'
[staging] run cd /var/www/clients/client1/web89/home/redittemplate/web/typo3/releases/8 && (vendor/bin/typo3 setup)
[staging] Configuration already exists do you want to overwrite it [default: no] ?
[staging]  error  in deploy.php on line 101:
[staging] exit code 1 (General error)
done typo3:setup-if-needed 12s 510ms

Is there a way to run interactive commands on the server?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions