Не удалось запустить задачу Cloudfoundry - неожиданный ответ 404
После того, как мое приложение успешно отправлено через cf, мне обычно нужно вручную выполнить ssh-log в контейнере и выполнить несколько сценариев PHP, чтобы очистить и прогреть мой кэш, возможно выполнить некоторые обновления схемы БД и т. Д.
Сегодня я узнал о Cloudfoundry Tasks, которые, кажется, предлагают симпатичный способ делать именно такие вещи, и я хотел проверить, могу ли я интегрировать его в свой скрипт build & deploy.
Поэтому использовал cf login, успешно подключился к нужной организации и пробелу, приложение было загружено и запущено, и я попробовал эту команду:
cf run-task MYAPP "bin/console doctrine:schema:update --dump-sql --env=prod" --name dumpsql
(попробовал с парой изменений папок, таких как app/bin/console и т. д.)
и это был выход:
Creating task for app MYAPP in org MYORG / space MYSPACE as me@myemail...
Unexpected Response
Response Code: 404
FAILED
Использует CF CLI: 6.32.0
cf logs ArcticTenTestBackend --recent
ничего не выводится (это может иметь место, потому что я включил экземпляр ELK для ведения журнала - так как я хотел подключиться к ELK для обслуживания, чтобы просмотреть журналы, я обнаружил, что плагин cf для службы-соединителя пропущен, для которого я буду открыть новый билет).
Создан новый выпуск для этого: https://github.com/cloudfoundry/cli/issues/1242
1 ответ
Это не проблема CF CLI. Swisscom Application Cloud пока не поддерживает задачи Cloud Foundry. Это объясняет 404 вы получаете в настоящее время. Мы представим эту функцию Cloud Foundry в следующем выпуске Swisscom Application Cloud.
В то же время, возможно, вы сможете найти способ выполнения ваших одноразовых задач (прогрев кеша, перенос БД) при запуске приложения.
Как уже упоминалось @Mathis Kretz Swisscom получил возможность включить cf run-task
так как этот вопрос был опубликован. Они отправляют электронные письма 22. ноября 2018 года, чтобы объявить об этой функции.
Как обсуждалось в вашей связанной документации, вы используете следующие команды для управления tasks
:
cf tasks [APP_NAME]
cf run-task [APP_NAME] [COMMAND]
cf terminate-task [APP_NAME] [TASK_ID]