【发布时间】:2018-05-02 07:00:47
【问题描述】:
我正在尝试在 Cloud Foundry 中部署我的 Angular 应用程序。
在使用 ng serve 进行本地测试后,我确认我的应用程序运行良好。
以下是我在 CF 中部署的步骤:
在应用程序目录中执行
ng build --prod创建dist文件夹”-
将dist文件夹复制到其他目录并创建
manifest.yml文件,内容如下:(yml文件和dist文件夹在同一目录下)applications: name: deploy-ng4 memory: 128M buildpack: https://github.com/cloudfoundry/staticfile-buildpack.git path: dist -
执行
cf push deploy-ng4 -m 128M -b https://github.com/cloudfoundry/staticfile-buildpack.git CF 日志显示部署的服务正在运行,我没有看到任何错误。
当我尝试浏览
cf apps中列出的此已部署应用程序的 URL 时,它显示 403 - Forbidden。
【问题讨论】:
-
我已经成功部署了
ng build --prod的结果,因此您必须提供更多信息才能复制。你能得到一个正确的index.html服务吗?另请注意,如果您要再次将内容作为标志传递给cf push,则没有任何意义,反之亦然。 -
请仔细检查清单文件的内容 - 对于应用程序配置,这看起来不像正确的 YAML,这可能是您需要推送标志的原因。另请注意,您将使用静态文件和 pushstate 路由,请参阅 docs.cloudfoundry.org/buildpacks/staticfile/index.html。
-
这可能无关紧要,但不要使用 buildpack 的 master 分支。你永远不知道你会得到什么。使用安装在您平台上的 buildpack(即
cf buildpacks)或使用 buildpack 的发行版。使用 Github 撰写本文时最新版本的示例:-b https://github.com/cloudfoundry/staticfile-buildpack.git#v1.4.27。使用系统 buildpack 的示例:-b staticfile_buildpack.
标签: angular deployment cloud-foundry