【发布时间】:2020-01-02 16:23:00
【问题描述】:
我们有 2 份报告
- 回购 1
- 回购 2
在 Repo 1 中 > package.json 有一个依赖项
"dependencies": {
"repo-2": "git+https://git-codecommit.us-east-1.amazonaws.com/v1/repos/repo-2/"
}
然后,在“repo-1”的 CodeBuild 中,我们有以下构建规范
version: 0.2
phases:
install:
runtime-versions:
nodejs: 10
commands:
- mkdir -p ./deploy
build:
commands:
- echo "Server copy START $(date)"
- cp -r ./index.js ./deploy/index.js
- cp -r ./package.json ./deploy/package.json
- cp -r ./buildspec.yml ./deploy/buildspec.yml
- echo "Server copy END $(date)"
- echo "Server npm install START $(date)"
- cd ./deploy && npm install --production
- echo "Server npm install END $(date)"
post_build:
commands:
artifacts:
files:
- '**/*'
base-directory: 'deploy'
CodeBuild 抛出的错误如下
npm ERR! fatal: unable to access 'https://git-codecommit.us-east-1.amazonaws.com/v1/repos/repo-2/': The requested URL returned error: 403
基本上,问题是:我可以使用 CodeCommit 存储库作为 npm 依赖项吗?正确的方法是什么?
试试#1
我尝试添加这个(以及类似的变体)但没有成功 https://medium.com/@ngchiwang/aws-npm-install-private-codecommit-module-8512c3203c37
#Try 2
我也试过把依赖URL改成这个
"repo-2": "git://git-codecommit.us-east-1.amazonaws.com/v1/repos/repo-2"
但出现以下错误
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fatal: unable to connect to git-codecommit.us-east-1.amazonaws.com:
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: git-codecommit.us-east-1.amazonaws.com[0: 52.94.233.146]: errno=Connection refused
【问题讨论】:
-
403 是“禁止的”。您的 CodeBuild 角色需要访问存储库的权限。
-
CodeBuild 分配的角色可以访问存储库。
-
我的错@AndrejKaurin,它实际上是一个 NPM 错误;您是否在 CodeBuild 环境中配置了 NPM 凭证?你需要登录 NPM 才能访问私有包。
-
但是私有包在 CodeCommit 上。
-
我正在使用“依赖项”,但错误地发布了“devDependencies”。尝试了您的建议,但没有成功。我用错误更新了问题。
标签: amazon-web-services aws-codebuild aws-codecommit