【问题标题】:npm run build redhat openshift deploynpm run build redhat openshift deploy
【发布时间】:2018-05-16 16:24:53
【问题描述】:

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

【问题讨论】:

    标签: node.js reactjs openshift redhat


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2019-11-15
      • 2018-01-22
      • 2019-04-27
      • 2021-03-03
      • 1970-01-01
      • 2020-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多