通过 cf 成功推送我的应用程序后,我通常需要手动 ssh-log 到容器中并执行几个 PHP 脚本来清除和预热我的缓存,可能会执行一些数据库架构更新等。
今天我发现了Cloudfoundry Tasks这似乎提供了一种很好的方法来做这种事情,我想测试它是否可以将它集成到我的构建和部署脚本中。
所以使用 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.0cf logs ArcticTenTestBackend --recent
不输出任何内容(这可能是因为我启用了一个 ELK 实例进行日志记录 - 因为我想服务连接到 ELK 以查找日志我发现服务连接器 cf 插件已经消失了,我将开新票)。
为此创建了新问题:https://github.com/cloudfoundry/cli/issues/1242
最佳答案
这不是 CF CLI 问题。 Swisscom Application Cloud 尚不支持 Cloud Foundry 任务。这解释了您当前收到的 404。我们将在即将发布的 Swisscom Application Cloud 版本中公开 Cloud Foundry 的此功能。
与此同时,也许您可以找到一种在应用程序启动时执行一次性任务(缓存预热、数据库迁移)的方法。
关于cloud-foundry - 无法运行 Cloudfoundry 任务 - 意外响应 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46606065/