为什么我的简单Angular应用程序部署到openshift origin却没有得到服务?

为什么我的简单Angular应用程序部署到openshift origin却没有得到服务?,angular,openshift-origin,Angular,Openshift Origin,我使用cli创建了一个简单的AngularJS(而不是AngularJS)应用程序,并将其签入我们的私有GitHub repo。我在Openshift Origin中创建了一个项目,运行在我的Windows 10设备上,指向angular应用程序,并将其部署到NodeJS builder映像中—pod已启动并运行。生成日志显示没有错误 问题就在这里。当我单击openshift为我定义的作为外部路由的链接时,屏幕上会显示一条“应用程序不可用”消息(见下文) 我不知道为什么应用程序没有被提供。我认

我使用cli创建了一个简单的AngularJS(而不是AngularJS)应用程序,并将其签入我们的私有GitHub repo。我在Openshift Origin中创建了一个项目,运行在我的Windows 10设备上,指向angular应用程序,并将其部署到NodeJS builder映像中—pod已启动并运行。生成日志显示没有错误

问题就在这里。当我单击openshift为我定义的作为外部路由的链接时,屏幕上会显示一条“应用程序不可用”消息(见下文)

我不知道为什么应用程序没有被提供。我认为必须做一些特殊的事情来准备Angular应用程序在openshift上运行,但我一直无法从这个网站或其他地方梳理出足够的信息来识别解决方案是什么——很可能是因为这是我第一次尝试将Angular应用程序部署到类似prod的环境中


显然,我在尝试将这个简单的angular应用程序部署到openshift时遗漏了一些东西。任何帮助都将不胜感激。谢谢。

我找到了解决问题的办法。目前,由于它不打算成为一个生产就绪的解决方案,所以还可以

在package.json中,我将“start”脚本修改为:

“启动”:“ng serve--H 0.0.0.0--端口8080--禁用主机检查”


目前,我的@angular/cli版本是1.4.2,我正在使用^4.2.4@angular软件包。

我找到了解决问题的方法。目前,由于它不打算成为一个生产就绪的解决方案,所以还可以

在package.json中,我将“start”脚本修改为:

“启动”:“ng serve--H 0.0.0.0--端口8080--禁用主机检查”


目前,我的@angular/cli版本是1.4.2,我正在使用^4.2.4@angular软件包。

您是否使用ng build命令构建应用程序?您使用的是什么OpenShift环境?如果使用在线起动器,目前存在的问题可能意味着无法及时设置路线。一些环境开始进行更改,以尝试解决这些问题。在独立项目中,package.json的scripts部分使用“ng build”,但实际上我在签入“ng build--prod”之前对其进行了修改。但我只是将该项目签入我们的git回购协议。我没有预先构建它。这难道不是openshift的S2I所赋予的优势吗?您让您的nodejs服务器监听的端口是什么?它应该是8080端口。@GrahamDumpleton我正在通过本地minishift使用Openshift Origin。我希望这就是你的意思(我在我的原始帖子中指定了openshift origin)。你是使用ng build命令构建应用程序的吗?你使用的是什么openshift环境?如果使用在线起动器,目前存在的问题可能意味着无法及时设置路线。一些环境开始进行更改,以尝试解决这些问题。在独立项目中,package.json的scripts部分使用“ng build”,但实际上我在签入“ng build--prod”之前对其进行了修改。但我只是将该项目签入我们的git回购协议。我没有预先构建它。这难道不是openshift的S2I所赋予的优势吗?您让您的nodejs服务器监听的端口是什么?它应该是8080端口。@GrahamDumpleton我正在通过本地minishift使用Openshift Origin。我希望这就是你的意思(我在我的原始帖子中指定了openshift源代码)。以前是什么意思?这是如何解决问题的?@gregswift hi greg-区别在于--8080端口和--disable主机检查。无论哪种方式,由于Openshift对Angular和容器化部署都相当陌生,我得到的印象是,部署Angular应用程序的首选最佳实践是先进行构建,然后将/dist文件夹的内容移动到web服务器。我想依赖openshift的S2I特性,但由于Angular可以作为静态内容使用,这可能是一条可行之路。我还了解到,根据您的环境,使用--disable host检查可能是一个安全问题?这是如何解决问题的?@gregswift hi greg-区别在于--8080端口和--disable主机检查。无论哪种方式,由于Openshift对Angular和容器化部署都相当陌生,我得到的印象是,部署Angular应用程序的首选最佳实践是先进行构建,然后将/dist文件夹的内容移动到web服务器。我想依赖openshift的S2I特性,但由于Angular可以作为静态内容使用,这可能是一条可行之路。我还了解到,根据您的环境,使用--disable host检查可能是一个安全问题。