首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在VS Team Services CI构建中通过npm安装私有依赖项

在VS Team Services CI构建中通过npm安装私有依赖项
EN

Stack Overflow用户
提问于 2017-02-16 20:42:16
回答 2查看 905关注 0票数 1

我正在中设置一些NodeJS项目的CI构建。目前,我有四个项目正在从私有Github存储库中克隆,运行npm install和运行单元测试。因为我给VS Team Services构建了一个用于它克隆的存储库的访问令牌,所以这些构建都是通过的。

第五个项目依赖于其他四个项目中的一个作为package.json中的依赖项。当试图克隆私有存储库时,此项目的构建在npm install上失败,因为构建没有复制存储库的权限。如何在npm install期间授予此构建访问权限来克隆我们的私有存储库

我对这五个项目中的每个项目都有一个构建定义,每个项目都是my-org上的一个单独的存储库。在每个构建定义中,到Github的连接由个人访问令牌管理,存储库指向my-org/project-name。第五个项目的package.json文件(失败)构建了一个dependencies配置,如下所示:

代码语言:javascript
运行
复制
  "dependencies": {
    "project-name": "git+ssh://git@github.com/my-org/project-name.git#master",
    "jquery": "^2.2.4",
    "react": "^15.0.1",
    "react-dom": "^15.0.1"
  }

第一个图像显示了构建定义的npm install步骤。

第二个图像显示了我的构建定义的npm test步骤。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-18 19:40:50

问题是,由于构建代理上缺少SSH密钥,并且主机验证无论如何都会失败,构建代理将无法进行身份验证。

相反,您应该在个人存取令牌 on GitHub上创建一个只有“repo”作用域,然后在您的packages.json文件中使用它(注意sshhttps协议取代):

代码语言:javascript
运行
复制
"project-name": "git+https://<user>:<token>@github.com/my-org/project-name.git#master",
票数 1
EN

Stack Overflow用户

发布于 2019-09-08 03:55:15

最近,我需要在基于Windows的代理上的Azure中这样做,而不是将依赖项更改为在packages.json中包含用户和令牌,而是创建一个构建步骤,将环境变量中的身份验证信息添加到windows凭据存储中,并指示git使用该步骤。

代码语言:javascript
运行
复制
git config --global credential.helper wincred
cmdkey /generic:LegacyGeneric:target=git:https://our-private-domain.com /user:git-readonly-use@our-private-domain.com /pass:"Personal Access Token With Read Permissions"

在添加这些配置之后,Npm安装了我们在源代码中使用的脚本,没有出现任何问题。

代码语言:javascript
运行
复制
"dependencies": {
"example-1": "git+https://our-private-domain.com/proj/example-1.git#v0.1.9",
"example-2": "git+https://our-private-domain.com/proj/example-2.git#master"
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42284213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档