将我的一个应用程序推送到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
错误截图:
PCF版本2.x
答案 0 :(得分:2)
我有一些想法可能会帮助解决这个问题。
请勿使用--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
并将该路线放置在其中。
将其拆分。从manifest-dev.yml文件中删除您的服务。运行cf push -f manifest-dev.yml --no-route --no-start
。然后映射临时路线。然后绑定服务。然后运行cf start
。您也可以将清单全部放在一起,然后将cf
cli操作编写为shell脚本或类似的脚本。
您可以考虑使用cf cli的蓝色/绿色插件之一。有几个,我不能推荐一个。您可以在这里看到它们(搜索蓝色/绿色)。
要稍微了解一下所报告的错误,如果没有重定向URL,授权码授予(Oauth2)将无法工作。对于此流程,登录后将用户重定向到登录页面,然后将用户重定向回到您的重定向URL。没有该重定向URL,用户将无法完成流程。由于您没有任何路由,因此没有重定向URL,因此似乎失败了。
希望有帮助!