укажите репозиторий пакетов GitHub в buildspec.yml

У меня запускается процесс AWS CodeBuild, когда я проверяю код в главной ветке своего репозитория GitHub. Моя кодовая база - это бессерверное приложение dotnet core. У меня есть зависимость от частного пакета nuget, находящегося в репозитории пакетов GitHub. Мой процесс 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 - это частный пакет nuget, находящийся в репозитории пакетов GitHub, а не на nuget.org. Из сообщения об ошибке видно, что процесс CodeBuild пытается найти datastop.io.data-dictionary в nuget.

Вот мой текущий файл 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?


person Tom Schreck    schedule 20.11.2019    source источник


Ответы (1)


Если вы добавите файл nuget.config в свой проект и репозиторий GitHub в эту конфигурацию, он будет знать, где искать. Отсюда вопрос разрешений, с чем я борюсь.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <clear />
        <add key="github" value="https://nuget.pkg.github.com/YOUR_ACCOUNT_NAME/index.json" />
    </packageSources>
</configuration>
person Jason Wadsworth    schedule 14.02.2020
comment
Это было проблемой для меня. Мы создали nuget.config и правильно настроили его, но файл находился в неправильном каталоге. Мы используем docker, поэтому мы просто переместили его в тот же каталог, что и файл docker, и все! - person Urasquirrel; 09.04.2021