2017-10-06 97 views
5

通过cf成功推送我的应用程序后,我通常需要手动执行ssh-log到容器中并执行一些PHP脚本来清除和加热我的缓存,可能会执行一些数据库模式更新等无法运行Cloudfoundry任务 - 意外的响应404

今天我发现了约Cloudfoundry Tasks这似乎提供了一个漂亮的方式来做这种事情,我想测试它是否可以将它集成到我的构建&部署脚本。

这样使用CF登陆,得到了成功连接到正确的组织和空间,应用程序已被推并正在运行,我想这个命令:

cf run-task MYAPP "bin/console doctrine:schema:update --dump-sql --env=prod" --name dumpsql

(一对夫妇的文件夹更改试了一下像应用程序/斌/控制台等)

此时是输出:

Creating task for app MYAPP in org MYORG/space MYSPACE as [email protected]
Unexpected Response
Response Code: 404 FAILED

用途CF CLI:6.32.0

cf logs ArcticTenTestBackend --recent不会输出任何内容(这可能是这种情况,因为我已启用ELK实例进行日志记录 - 因为我想服务连接到ELK以查找我发现的日志service-connector cf插件已经没有了,我将打开一张新票据)。

用于创建新的问题:https://github.com/cloudfoundry/cli/issues/1242

+0

这是意想不到的 - 请在https://github.com/cloudfoundry/cli/issues/new提交问题。 使用'-v'运行cf命令可以提供有关404来自何处的更多信息。 – dkoper

+0

它说'为应用程序MYAPP创建任务....'只是为了确认'MYAPP'实际上是您应用程序的真实名称,而不是字面上的'MYAPP'。它应该是你的应用程序的实际名称。另外,请在运行任务时确认您的应用程序是否存在。您必须首先推送应用程序,然后才能运行任务。最后,运行'cf feature-flags'并确保你的环境启用了'task_creation'。希望有所帮助! –

+0

谢谢,功能标志创建命令已启用,当然MYAPP只是取代放置信息在这里。 – LBA

回答

3

这不是一个CF CLI问题。 Swisscom Application Cloud尚不支持Cloud Foundry任务。这解释了你目前收到的404。我们将在即将发布的Swisscom Application Cloud中发布Cloud Foundry的这一功能。

与此同时,也许你可以找到一种方法来在应用程序启动时执行一次性任务(缓存预热,数据库迁移)。

+1

cf的功能标志假装支持有点难过。在Swisscom Dev文档中找到这个信息会很好。 – LBA

+3

此外,我不确定为什么这个问题没有得到Swisscom的赞同,因为这对其他Swisscom用户来说可能也很有趣。 – LBA

相关问题