使用 NodeJS 和私有注册表部署 IBM Cloud DevOps 管道
IBM Cloud DevOps pipeline deploy with NodeJS and private registry
结合 IBM Cloud DevOps 管道使用私有注册表,我们得到了
模块发布。在 DevOps 管道中,也可以使用以下策略进行构建:
#!/bin/bash
export PATH=/opt/IBM/node-v6.7.0/bin:$PATH
npm config set @<scope>:registry <registry-url>
echo "//<registry-url-short>:_authToken=$NPM_TOKEN" >> ~/.npmrc
npm install
这样可以找到并安装 public 和私有模块。但是,当需要部署到 NodeJS 运行时时,'npm install' 是在平台端完成的。
我们如何用上面的方法来指导它?
一种可能的方法是使用 npm 中的 postinstall
脚本将您的私有模块下载到不同的目录中。这里有一个关于如何实现这一点的很好的解释。
另一种方法是在推送时将 .npmrc 文件与应用程序打包在一起。更多信息在这里 https://github.com/cloudfoundry/nodejs-buildpack/issues/79
这里的方法是创建一个 .npmrc 作为构建阶段的一部分,并将其添加到工件文件夹的根目录中。在下一阶段,当您从工件文件夹部署应用程序时,您的 npm 配置将为每个项目配置正确设置(请参阅 https://docs.npmjs.com/files/npmrc),并且 cf 节点构建包执行的 npm 安装将正常工作。
结合 IBM Cloud DevOps 管道使用私有注册表,我们得到了 模块发布。在 DevOps 管道中,也可以使用以下策略进行构建:
#!/bin/bash
export PATH=/opt/IBM/node-v6.7.0/bin:$PATH
npm config set @<scope>:registry <registry-url>
echo "//<registry-url-short>:_authToken=$NPM_TOKEN" >> ~/.npmrc
npm install
这样可以找到并安装 public 和私有模块。但是,当需要部署到 NodeJS 运行时时,'npm install' 是在平台端完成的。
我们如何用上面的方法来指导它?
一种可能的方法是使用 npm 中的 postinstall
脚本将您的私有模块下载到不同的目录中。这里有一个关于如何实现这一点的很好的解释。
另一种方法是在推送时将 .npmrc 文件与应用程序打包在一起。更多信息在这里 https://github.com/cloudfoundry/nodejs-buildpack/issues/79
这里的方法是创建一个 .npmrc 作为构建阶段的一部分,并将其添加到工件文件夹的根目录中。在下一阶段,当您从工件文件夹部署应用程序时,您的 npm 配置将为每个项目配置正确设置(请参阅 https://docs.npmjs.com/files/npmrc),并且 cf 节点构建包执行的 npm 安装将正常工作。