node.js - npm 运行构建 redhat openshift 部署

标签 node.js reactjs openshift redhat

我有一个使用 Node.js 和 React 构建的项目。每次构建和部署时,或者每次 pod 重置时,我都需要进入 pod 终端并运行“npm run build”(“build”:“react-scripts build”)。有没有办法自动执行此操作? (也许在我的 package.json 脚本中,如果 redhat 有类似于“heroku-postbuild”的特定脚本或 Openshift 网站上的某个地方?)

最佳答案

如果您使用目录中的 Node.js 镜像进行构建,那么我建议您在 package.json 中添加一个“postinstall” Hook 来实现此目的。这是标准 npm/Node.js 支持的约定。

这是一个example repository that demonstrates this 。由于它使用 TypeScript 并且 TypeScript 在运行之前需要编译为 JavaScript,因此我们定义了“postinstall”。当 OpenShift 执行 S2I 时要为您的应用程序生成容器镜像,它运行 npm install (请参阅源 here )。如果您定义了“postinstall” Hook ,则该 Hook 可以构建您的应用程序。这意味着它始终准备就绪,因为它成为容器镜像的一部分 - 即使跨重新部署也是如此。

注意:您需要将构建应用程序所需的依赖项从 package.json 中的“dependency”移动到“devDependencies”。

关于node.js - npm 运行构建 redhat openshift 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50375782/

相关文章:

node.js - 如何自动将 intent 添加到 addRequestHandler

javascript - 当Key包含两部分标识符时获取对象的长度

node.js - npm 错误!缺少脚本 : deploy

javascript - React/Redux 使用 store 从另一个组件获取状态

static - dose openshift Website Nameservers 是静态的或将被更改

node.js - 如何在openshift服务器中生成apns证书

javascript - Node.js Docker 镜像环境变量

javascript - useState hook - 状态丢失,即重置为初始值

javascript - 在 React 中检索多个子组件的状态

java - 在 Openshift 上部署 war 文件后,找不到合适的驱动程序错误