无法通过路由将服务部署到PCF

时间:2018-10-17 19:39:55

标签: spring-boot pivotal-cloud-foundry cloudfoundry-uaa blue-green-deployment

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

  

cf命令用于部署

     

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

错误截图:

enter image description here

PCF版本2.x

1 个答案:

答案 0 :(得分:2)

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

  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 cli操作编写为shell脚本或类似的脚本。

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

    http://plugins.cloudfoundry.org/

要稍微了解一下所报告的错误,如果没有重定向URL,授权码授予(Oauth2)将无法工作。对于此流程,登录后将用户重定向到登录页面,然后将用户重定向回到您的重定向URL。没有该重定向URL,用户将无法完成流程。由于您没有任何路由,因此没有重定向URL,因此似乎失败了。

希望有帮助!