首页 > 解决方案 > 无法将服务部署到无路由的 PCF

问题描述

在将我的一个应用程序推送到PCF. 我想为我的服务实现蓝绿部署,我想部署没有路由的 app-v2 版本,然后在部署完成后添加临时路由。因为我需要在应用程序启动时绑定一个市场服务UAA 单点登录服务。(Provides identity capabilities via UAA as a Service)UAA服务在推送时导致问题。

cf 命令用于部署

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

错误截图:

在此处输入图像描述

PCF 版本 2.x

标签: spring-bootcloud-foundrycloudfoundry-uaablue-green-deployment

解决方案


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

  1. 不要使用--no-route. 你说I want to deploy app-v2 version with no-route and then add temp route after deployment done,所以跳过这--no-route部分并将临时路由直接放入你的 manifest-dev.yml 文件中。如果您在该文件中已经有一条路线,您可以制作一个副本并调用它manifest-dev-v2.yml并将路线放在那里。

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

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

    http://plugins.cloudfoundry.org/

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

希望有帮助!


推荐阅读