Не удалось запустить задачу 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]
Другие вопросы по тегам