2017-11-10 112 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

相關問題