每当我将代码签入我的 GitHub 存储库的主分支时,我都会启动一个 AWS CodeBuild 流程。我的代码库是一个 dotnet 核心无服务器应用程序。我依赖于 GitHub 包存储库中的私有 nuget 包。尝试查找包时,我的 CodeBuild 进程失败:
error NU1101: Unable to find package datastop.io.data-dictionary.
No packages exist with this id in source(s): nuget.org
datastop.io.data-dictionary
是位于 GitHub 包存储库中的私有 nuget 包,而不是位于 nuget.org 中。从错误消息中可以看出 CodeBuild 进程正在尝试在 nuget 中查找“datastop.io.data-dictionary”。
这是我当前的 buildspec.yml 文件:
version: 0.2
phases:
install:
runtime-versions:
dotnet: 2.1
commands:
- echo Entered the install phase...
- export PATH="$PATH:/root/.dotnet/tools"
- dotnet tool install -g Amazon.Lambda.Tools
pre_build:
commands:
- echo Entered the pre_build phase...
- dotnet restore
build:
commands:
- echo Entered the build phase...
- echo Build started on `date`
- cd $FOLDER
- dotnet lambda package --configuration release --framework netcoreapp2.1 -o ./$ZIPPED_APPLICATION
- aws cloudformation package --template-file infrastructure.yml --s3-bucket $S3_DEPLOYMENT_BUCKET --output-template-file packaged-infrastructure.yml --region us-east-2
- aws cloudformation deploy --template-file packaged-infrastructure.yml --stack-name $CLOUDFORMATION_STACK_NAME --capabilities CAPABILITY_IAM --region us-east-2
运行时构建过程失败dotnet restore
。
我假设我需要以某种方式修改我的 buildspec.yml 文件,以让构建过程知道查看正确的包存储库(我们的私有 GitHub 包存储库)。尝试查找包时,如何修改我的 buildspec.yml 文件以指向适当的 GitHub 包存储库datastop.io.data-dictionary
?