2017-10-06 50 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

相關問題