npm运行构建redhat openshift部署

时间:2018-05-16 16:24:54

标签: node.js reactjs openshift redhat

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

1 个答案:

答案 0 :(得分:1)

如果要使用目录中的Node.js映像进行构建,则建议您在package.json中添加“ postinstall”钩子以实现此目的。这是npm / Node.js支持的标准约定。

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

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