无法使用无路由将服务部署到 PCF

Unable to deploy service to PCF with no-route

我在将我的一个应用程序推送到 PCF 时遇到了这个奇怪的问题。 我想为我的服务实施蓝绿部署,我想部署无路由的 app-v2 版本,然后在部署完成后添加临时路由。 因为我需要在应用程序启动时绑定一项市场服务 UAA Single Sign-on(Provides identity capabilities via UAA as a Service) 服务。 此 UAA 服务在推送时导致问题。

cf command using for deployment

cf push -f manifest-dev.yml --no-route

错误截图:

PCF 版本2.x

我有一些想法可能有助于解决这个问题。

  1. 不要使用 --no-route。你说的是 I want to deploy app-v2 version with no-route and then add temp route after deployment done,所以直接跳过 --no-route 部分,直接把 temp 路由放到你的 manifest-dev.yml 文件中。如果该文件中已有路由,则可以制作一个副本并将其命名为 manifest-dev-v2.yml 并将路由放在那里。

  2. 把这个分开。从 manifest-dev.yml 文件中删除您的服务。 运行cf push -f manifest-dev.yml --no-route --no-start。然后映射临时路线。然后绑定服务。然后运行cf start。您也可以将清单放在一起,然后将您的 cf cli 操作编写成 shell 脚本或类似的脚本。

  3. 您可以考虑使用 cf cli 的 blue/green 插件之一。有几个,我不能推荐一个。你可以在这里看到它们(搜索 blue/green)。

    http://plugins.cloudfoundry.org/

关于所报告错误的一些背景知识,如果没有重定向 URL,授权代码授予 (Oauth2) 将无法工作。对于此流程,用户被重定向到登录页面,然后在登录发生后被重定向回您的重定向 URL。如果没有该重定向 URL,用户将无法完成流程。它似乎失败了,因为您没有任何路由,因此无法进行重定向 URL.

希望对您有所帮助!