如何在Visual Studio团队服务构建和发布管理中使用私有npm包feed

Pou*_*sen 10 azure-pipelines azure-pipelines-release-pipeline azure-artifacts

我开始在我的visual studio团队服务帐户上使用私有npm提要,按照他们的指南并添加了一个.npmrc文件

registry=https://ascend-xyz.pkgs.visualstudio.com/_packaging/AscendNPMFeed/npm/registry
always-auth=true
Run Code Online (Sandbox Code Playgroud)

问题是构建管道现在不起作用,因为它需要来自这个私有包的一些包.

告诉npm它可以使用visual studio团队服务上的构建访问令牌进行身份验证的正确设置是什么?

我是否需要设置环境变量,调用npm login或someting作为构建步骤?

小智 12

在对我们的构建进行一些密集测试后,对于任何遇到此问题并且遇到问题的人,以及原始问题进行更新:

  1. 编辑构建定义=> options =>"允许脚本访问OATH令牌"

启用后,VSTS遇到.npmrc文件,它将运行npm命令

vsts-npm-auth 对你来说,这意味着源控件中的.npmrc只需要包​​含

registry=https://YOUR_DOMAIN.pkgs.visualstudio.com/_packaging/FEEDNAME/npm/registry
always-auth=true
Run Code Online (Sandbox Code Playgroud)

这适用于使用VSTS Npm任务的构建,无论是publishinstall



假设您为正在运行的VSTS Build 设置了环境变量NPM_TOKEN,该npm publish命令可以在.npmrc文件中替换它. http://blog.npmjs.org/post/118393368555/deploying-with-npm-private-modules

所以你检查源控件的.npmrc应该是这样的

registry=https://YOUR_DOMAIN.pkgs.visualstudio.com/_packaging/FEEDNAME/npm/registry
always-auth=true
Run Code Online (Sandbox Code Playgroud)

//YOUR_DOMAIN.pkgs.visualstudio.com/_packaging//npm/:_authToken=${NPM_TOKEN}

可以通过运行vsts-npm-auth命令生成令牌 https://www.npmjs.com/package/vsts-npm-auth

请注意,在Windows上,它有时需要目标和源rc文件的完整路径(其中-T:write-token-to-this-target-file),例如

vsts-npm-auth -config c:\ mysrc\.npmrc -T c:\ mysrc\.npmrc -V详解

或者,它可以在"打包"下的(Web界面)VSTS帐户内的"连接到订阅源"对话框中生成.

另请注意,如果您想要自动发布此版本,您还必须找到一种方法来修改版本号,例如

npm version patch --force -m "Published new version"
Run Code Online (Sandbox Code Playgroud)

看一下这个帖子, 自动更新package.json版本

默认情况下,VSTS会检查HEAD提交ID,因此不能直接运行npm version命令并推回git,因为一个处于分离状态.


归档时间:

查看次数:

4856 次

最近记录:

8 年,12 月 前