У меня проблема с посланником Ларавела.
Я написал сценарий для развертывания на сервере, и я вызываю этот сценарий с
envoy run deploy —environment = staging
но когда происходит ошибка, я не вижу, из какого производства происходит ошибка.
Например, ошибка возникает при переносе php artisan, и я могу отследить задачу, где произошла ошибка, но я не могу получить среду.
Вот мой код:
@error
@slack('hook', '#deploy', "Deploy failed on {$environment} error:
$task")
exit;
@enderror
И вывод на развертывание слабого канала:
Ошибка развертывания при ошибке: migrate-db
Похоже, что ваш скрипт Envoy имеет ошибку в migrate-db
задача. Без публикации кода трудно сказать, что происходит с этой задачей. Я бы предложил использовать простой echo
в рамках задачи, чтобы получить сценарий для завершения в первую очередь.
Бежать envoy run deploy --env=staging
@servers(['web' => '127.0.0.1'])
@setup
$env = isset($env) ? $env : "localhost";
$host = gethostname();
$hook = "https://hooks.slack.com/services/XXX";
$channel = "#your-channel";
@endsetup
@story('deploy')
migrate-db
@endstory
@task('migrate-db')
echo 'migrate-db'
@endtask
@error
@slack($hook, $channel, "Deploy failed on [$env], hostname: $host");
echo "Deploy failed on [$env], hostname: $host\r\n";
@enderror
@finished
@slack($hook, $channel, "Deploy succeeded on [$env], hostname: $host");
echo "Deploy succeeded on [$env], hostname: $host\r\n";
@endfinished
Других решений пока нет …