在对我们的构建进行了一些激烈的测试后更新,对于任何在启动和运行时遇到问题的人,以及关于原始问题:
- 编辑构建定义 => 选项 => “允许脚本访问 OATH 令牌”
启用后,VSTS 遇到 .npmrc 文件,它将运行 npm 命令
vsts-npm-auth
对你来说,这意味着源代码管理中的 .npmrc 只需要包含
registry=https://YOUR_DOMAIN.pkgs.visualstudio.com/_packaging/FEEDNAME/npm/registry
always-auth=true
这适用于使用 VSTS Npm 任务的构建,无论是它publish
还是install
鉴于您为正在运行的 VSTS 构建设置了环境变量NPM_TOKENnpm 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
//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 帐户内的“连接到 feed”对话框中生成。
另请注意,如果您想自动连续发布此内容,您还必须找到一种增加版本号的方法,例如
npm version patch --force -m "Published new version"
查看此线程以获取更多
自动更新 package.json 版本
VSTS 默认情况下会检查 HEAD 提交 ID,因此仅运行npm version
命令并推回 git 并不简单,因为它处于分离状态。