Пакеты GitHub не найдены при восстановлении из GitHub Actions

У меня есть два частных репозитория GitHub ядра dotnet:

  • Репозиторий B публикует пакеты nuget в репозиторий пакетов GitHub (частный).
  • Репозиторий A использует пакеты nuget, опубликованные репозиторием B из репозитория пакетов GitHub.

У меня есть доступ к обоим репозиториям с полными разрешениями, и я могу создать приложение ядра dotnet из репозитория A, загрузив nuget из репозитория пакетов GitHub после входа в систему.

Когда я использую GitHub Actions в CI / CD для создания репозитория A, он не находит пакеты, опубликованные репозиторием B (см. Трассировку ниже).

Я использую GITHUB_TOKEN для аутентификации. У меня вопрос: какое разрешение необходимо для токена oAuth, чтобы получить доступ на чтение к пакетам из репозитория B и где его установить в пользовательском интерфейсе GitHub?

 NotFound https://nuget.pkg.github.com/mycompany/download/foo.net/index.json 116ms

person frosty    schedule 17.05.2020    source источник
comment
Вам нужен Permission packages (см. help.github.com/en/actions/configuring-and-managing-workflows/)   -  person riQQ    schedule 20.05.2020
comment
Разрешения в упомянутой вами ссылке - это то, что GITHUB_TOKEN наследует для текущего репо. Здесь я скачиваю пакеты из другого репо.   -  person frosty    schedule 26.05.2020
comment
Итак, вы хотите изменить разрешения токена по умолчанию? Я не думаю, что это возможно. В документации GitHub Actions рекомендуется создать PAT (см. stackoverflow.com/a/61924036/3241243).   -  person riQQ    schedule 27.05.2020
comment
Обратите внимание, что сценарий довольно прост. У нас есть много репозиториев, и ссылки на библиотеки делаются через nugets, опубликованные в репозитории частных пакетов. На данный момент я обошелся с использованием токена частного доступа. Было бы неплохо получить работу GITHUB_TOKEN для этого сценария.   -  person frosty    schedule 06.06.2020


Ответы (1)


В случае частных пакетов вы можете добавить этот шаг, чтобы добавить источник nuget в действия

   - name: " Set NuGET Source"
        working-directory: <Working Directory>
        run: nuget sources Add -Name "github" -ConfigFile nuget.config -Source <Github repo url> -UserName <username> -Password <Public Access Token> -StorePasswordInClearText

Надеюсь, это поможет.

person Chandan Gupta    schedule 20.05.2020
comment
Обратите внимание, что использование токена частного доступа работает нормально. Проблема связана только с токеном oAuth - person frosty; 25.05.2020
comment
да, мы можем использовать это как секреты в github и получить к нему доступ при необходимости. - person Chandan Gupta; 26.05.2020