2017-11-10 41 views
-1

我使用cli创建了一个简单的Angular(而不是AngularJS)应用程序,并将其签入到我们的私人GitHub回购中。我在运行在我的Windows 10机器上的Openshift Origin中创建了一个项目,指向角度应用程序,并将其部署到NodeJS构建器映像 - 该容器已启动并正在运行。构建日志显示没有错误。为什么我的简单Angular应用程序被部署到openshift起源没有被服务?

这是问题所在。当我点击openshift为我定义的链接作为外部路由时,屏幕上出现“应用程序不可用”消息(请参阅下文)。

openshift app not available message

我不知道为什么应用程序没有被服务。我认为必须做一些特殊的事情来准备Angular应用程序在openshift上运行,但是我一直无法从这个站点或其他地方弄清楚足够的信息来识别解决方案 - 很可能是由于事实上,这是我第一次尝试将Angular应用程序部署到产品环境中。

我明显错过了试图将这个简单的角度应用程序部署到openshift的东西。任何帮助将不胜感激。谢谢。

+1

您是否使用ng build命令构建应用程序? – NuttLoose

+0

你在使用什么OpenShift环境?如果使用Online Starter,目前存在的问题可能意味着路线无法及时安装。 https://status.starter.openshift.com/正在开始对某些环境进行更改,以尝试解决问题。 –

+1

在独立项目中,package.json的scripts部分使用'ng build',但实际上我在修改'ng build --prod'之前对其进行了修改。但我只是将这个项目检查到我们的git回购中。我没有预先构建它。这不是openshift的S2I赋予的优势吗? – user3816269

回答

0

我找到了解决我的问题的方法。就目前而言,由于它不打算成为生产就绪的解决方案,所以很好。

在的package.json,我修改了 “开始” 的脚本是:

"start": "ng serve --H 0.0.0.0 --port 8080 --disable-host-check"

目前,我的@角/ CLI版本是1.4.2,而我使用的是4.2 ^。 4个角色包。

+0

之前是什么?这是如何解决这个问题的? – gregswift

+0

@gregswift嗨格雷格 - 不同之处在于--port 8080和--disable-host-check。无论哪种方式,对于使用Openshift进行Angular和Containerized部署都是相当新颖的,我得到的印象是,部署Angular应用程序的首选最佳实践是首先进行构建,然后将/ dist文件夹的内容移动到Web服务器。我想依赖openshift的S2I功能,但是由于Angular可以作为静态内容,这可能是一条可行的路。我也明白,使用--disable-host-check可能是一个安全问题,这取决于你的环境。 – user3816269

相关问题