使用NodeJS和私有注册表部署IBM Cloud DevOps管道

问题描述 投票:0回答:2

使用与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

这样就可以找到并安装公共和私有模块。但是,当部署到NodeJS运行时,然后'npm install'在平台端完成。

我们如何用上述方式指导?

node.js ibm-cloud continuous-delivery
2个回答
1
投票

另一种方法是在推送时将.npmrc文件与应用程序一起打包。更多信息在这里https://github.com/cloudfoundry/nodejs-buildpack/issues/79

这里的方法是创建一个.npmrc作为构建阶段的一部分,并将其添加到工件文件夹的根目录。在下一阶段,当您从工件文件夹部署应用程序时,将为每个项目配置正确设置npm配置(请参阅https://docs.npmjs.com/files/npmrc),并且cf节点build-pack执行的npm安装将正常工作。


1
投票

一种可能的方法是使用npm中的postinstall脚本将您的私有模块下载到不同的目录中。以下是如何实现这一目标的一个很好的解释。

https://github.com/pmuellr/bluemix-private-packages

© www.soinside.com 2019 - 2024. All rights reserved.