Синтаксическая ошибка при использовании Laravel Envoy для развертывания

Я создал файл Envoy.blade.php для развертывания, однако при запуске envoy run deploy получаю синтаксическую ошибку. Я пытался найти ошибку, но я не вижу ее.

Посланник.blade.php

@setup
// user on web-server
$user = 'root';

$timezone = 'Europe/Moscow';

// path to the directory on web-server
$path = '/var/www/';

$current = path . '/current';

// where take your code (git clone)
$repo = '[email protected]';

$branch = 'master';

// Directory and files with chmod 755
$chmod = [
    'storage/logs'
];

$date     = new DateTime('now', new DateTimeZone($timezone));
$release  = $path .'/release'. $date->format('YmdHis');
@endsetup

@servers(['production' => $user . '@5.453.20.189'])

@task('clone', ['on' => $on])
    mkdir -p {{ $release  }}

    git clone --depth l -b {{ $branch }} "{{ $repo }}" {{ $release }}

    echo "#1 - Repository has been cloned"
@endtask

{{-- Runs a fresh installation --}}
@task('composer', ['on' => $on])
    composer self-update

    cd {{ $release }}

    composer install --no-interaction --no-dev --prefer-dist

    echo "#2 - Composer dependencies have been installed"
@endtask

{{-- Updates composer, then runs a fresh unstallation --}}
@task('artisan', ['on' => $on])
    cd {{ $release }}

    ln -nfs {{ $path }}/.env .env;
    chfrp -h www-data .env;

    php artisan config:clear

    php artisan migrate
    php artisan clear-compiled --env-production;
    php artisan optimize --env-production;

    echo "#3 Production dependencies have been installed"
@endtask

{{-- Set permissions for various files and directories --}}
@task('chmod', ['on' => $on])

    chgrp -R www-data {{ $release }};
    chmod -R ug+rwx {{ $release }};

    @foreach($chmod as $file)
        chmod -R 775 {{ $release }}/{{ $file }}

        chown -R {{ $user }}:www-data {{ $release }}/{{ $file }}

        echo "Permissions have been set for {{ $file }}"
    @endforeach

    echo "#4 - Permissions has been set"
@endtask

@task('update_symlinks')
    ln -nfs {{ $release }} {{ $current }};
    chgrp -h www-data {{ $current }};

    echo "#5 - Symlinks has beeb set"
@endtask

{{-- Run all deployment task --}}
@macro('deploy', ['on', => 'production'])
    clone
    composer
    artisan
    chmod
    update_symlinks
@endmacro

Я получаю сообщение об ошибке в строке 79 после запуска команды envoy run deploy. Пожалуйста, помогите мне найти ошибку.

@macro('deploy', ['on', => 'production']) ... 'on', => наверное должно быть 'on' => без запятой
brombeer 25.02.2019 11:49

$текущий = путь. '/Текущий'; Должно быть $current = $path . '/Текущий';

Karl Hill 05.03.2019 04:39
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
891
1

Ответы 1

Здесь есть пара проблем, и они перечислены в комментариях выше. Попробуйте следующее.

@setup
    $user = 'root';
    $timezone = 'Europe/Moscow';
    $path = '/var/www/';
    $current = $path . '/current';
    $repo = '[email protected]';
    $branch = 'master';

    $chmod = [
        'storage/logs'
    ];

    $date = new DateTime('now', new DateTimeZone($timezone));
    $release = $path .'/release'. $date->format('YmdHis');
@endsetup

@servers(['production' => $user . '@5.453.20.189'])

{{-- Run all deployment tasks --}}
@macro('deploy', ['on' => 'production'])
    clone
    composer
    artisan
    chmod
    update_symlinks
@endmacro

@task('clone', ['on' => $on])
    mkdir -p {{ $release  }}
    git clone --depth l -b {{ $branch }} "{{ $repo }}" {{ $release }}
    echo "#1 - Repository has been cloned"
@endtask

{{-- Runs a fresh installation --}}
@task('composer', ['on' => $on])
    composer self-update
    cd {{ $release }}
    composer install --no-interaction --no-dev --prefer-dist
    echo "#2 - Composer dependencies have been installed"
@endtask

{{-- Updates composer, then runs a fresh unstallation --}}
@task('artisan', ['on' => $on])
    cd {{ $release }}
    ln -nfs {{ $path }}/.env .env;
    chfrp -h www-data .env;
    php artisan config:clear
    php artisan migrate
    php artisan clear-compiled --env-production;
    php artisan optimize --env-production;
    echo "#3 Production dependencies have been installed"
@endtask

{{-- Set permissions for various files and directories --}}
@task('chmod', ['on' => $on])
    chgrp -R www-data {{ $release }};
    chmod -R ug+rwx {{ $release }};
    @foreach($chmod as $file)
        chmod -R 775 {{ $release }}/{{ $file }}
        chown -R {{ $user }}:www-data {{ $release }}/{{ $file }}
        echo "Permissions have been set for {{ $file }}"
    @endforeach
    echo "#4 - Permissions has been set"
@endtask

@task('update_symlinks')
    ln -nfs {{ $release }} {{ $current }};
    chgrp -h www-data {{ $current }};
    echo "#5 - Symlinks has beeb set"
@endtask

Другие вопросы по теме