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
在对我们的构建进行一些密集测试后,对于任何遇到此问题并且遇到问题的人,以及原始问题进行更新:
- 编辑构建定义=> 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任务的构建,无论是publish或install
假设您为正在运行的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 次 |
| 最近记录: |