Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

g749's avatar
Level 2

[Envoy] Cannot get @story to work

I have the following Envoy.blade.php:

@servers(['web' => 'deployer@***'])

@setup
    $repository = '***';
    $releases_dir = '***/releases';
    $app_dir = '***';
    $release = date('YmdHis');
    $new_release_dir = $releases_dir .'/'. $release;
@endsetup

@story('deploy', ['on' => 'web'])
    clone_repository
    run_composer
    run_yarn
    compile_assets
    update_symlinks
@endstory

@task('clone_repository')
    echo 'Cloning repository'
    [ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }}
    git clone --depth 1 {{ $repository }} {{ $new_release_dir }}
@endtask

@task('run_composer')
    echo "Starting deployment ({{ $release }})"
    cd {{ $new_release_dir }}
    composer install --prefer-dist --no-scripts -q -o
@endtask

@task('run_yarn')
    echo "Installing npm packages"
    cd {{ $new_release_dir }}
    yarn
@endtask

@task('compile_assets')
    echo "Compiling assets"
    cd {{ $new_release_dir }}
    npm run production
@endtask

@task('update_symlinks')
    echo "Linking storage directory"
    rm -rf {{ $new_release_dir }}/storage
    ln -nfs {{ $app_dir }}/storage {{ $new_release_dir }}/storage

    echo 'Linking .env file'
    ln -nfs {{ $app_dir }}/.env {{ $new_release_dir }}/.env

    echo 'Linking current release'
    ln -nfs {{ $new_release_dir }} {{ $app_dir }}/current
@endtask

When I run

envoy run deploy

I get the following error message:

  [Exception]
  Task "clone_repository
        run_composer
        run_yarn
        compile_assets
        update_symlinks" is not defined.

Any Ideas? Thanks for your Input!

0 likes
2 replies
Jeroen's avatar

Have you figured this out? I ran into the same issue.

g749's avatar
Level 2

I have found a workaround! I added the following to the Envoy script:

    curl -sO http://gordalina.github.io/cachetool/downloads/cachetool.phar
    chmod +x cachetool.phar

    php cachetool.phar opcache:reset --fcgi=/var/run/php/php7.1-fpm.sock

However I do stress it is a workaround not a solution... There also is a php bug filed at: https://bugs.php.net/bug.php?id=74268&edit=1

Please or to participate in this conversation.