openshift 3 上的 Angular Cli 部署

Dip*_*ath 3 deployment openshift angular-cli openshift-3

我正在尝试将 Angular cli 项目部署到 openshift 3。它不断导致构建失败,并显示“通用构建失败”,日志上没有更多信息。如果我错了,有人可以引导我完成整个过程吗?有没有一种方法可以部署已编译的 dist 文件夹并避免构建过程,或者最佳实践是什么?先感谢您。这是我的脚本:

包.json

包.json

服务器.js

服务器.js

Pet*_*Fry 5

我使用的方法是创建一个 Jenkins 管道,其构建步骤执行以下操作

npm install -d
npm install --save classlist.js
$(npm bin)/ng build --prod --build-optimizer
rm -rf node_modules
oc start-build angular-5-example --from-dir=. --follow
Run Code Online (Sandbox Code Playgroud)

您可以看到,最后一步是在 Openshift 中启动二进制构建,传递当前目录的内容(减去不需要且相当大的 node_modules)。这个二进制构建只是将 ng 构建的 dist 文件夹输出复制到 nginx 基础镜像以及一些配置文件中

FROM nginx:1.13.3-alpine
## Copy our nginx config
COPY nginx/ /etc/nginx/conf.d/
## Remove default nginx website
RUN rm -rf /usr/share/nginx/html/*
## copy over the artifacts in dist folder to default nginx public folder
COPY dist/ /usr/share/nginx/html
EXPOSE 8080

CMD ["nginx", "-g", "daemon off;"]
Run Code Online (Sandbox Code Playgroud)

可以在以下位置找到完整工作的示例应用程序,该应用程序描述了如何将 Angular CLI 生成的项目部署到 Openshift 3

https://github.com/petenorth/angular-5-example

该应用程序是 Angular 5 应用程序。