长期以来一直停留在这个问题上,似乎是一个接一个的问题,只是试图让GitHub Actions将nuGet包发布到GitHub包中,文档确实很难找到,而且似乎也没有提供任何明确的信息例子
这是我先前的问题(仅出于上下文考虑,如果有帮助) I cant get gitHub actions to publish my package build to nuget.pkg.github
但是现在,我得到以下信息:
Run dotnet nuget push "bin/Release/Project.1.0.0.nupkg" --source "github"
warn : No API Key was provided and no API Key could be found for 'https://nuget.pkg.github.com/name'. To save an API Key for a source use the 'setApiKey' command.
error: Could not find a part of the path '/home/runner/work/project/project/bin/Release'.
这是我的完整yml
name: .NET Core
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.1.200
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test
run: dotnet test --no-restore --verbosity normal
- name: nuGet publish
run: dotnet nuget add source https://nuget.pkg.github.com/name/index.json -n github -u uname -p password123 --store-password-in-clear-text
- name: nuGet pack
run: dotnet pack --configuration Release
- name: publish
run: dotnet nuget push "bin/Release/EurekaShared.1.0.0.nupkg" --source "github"
这是构建结果:
答案 0 :(得分:0)
dotnet nuget
并非总是按预期方式工作,并且还有返回误导性错误消息的习惯。真气。
尝试在工作流程中添加一个nuget/setup-nuget@v1
步骤,并使用nuget.exe push
代替dotnet nuget push
。这可能会解决问题,或者至少会给您更有用的错误消息。
答案 1 :(得分:0)
我认为该错误与nupkg
文件或文件名的路径的部分有关。可能是大小写问题,因为Linux区分大小写。
此外,此工作流程文件仅发布一个程序包,即EurekaShared.1.0.0.nupkg
,如果您的程序包为EurekaShared.1.0.2.nupkg
,则该程序将不起作用
也许您可以尝试使用通配符**更新YML文件中的最后一行,如下所示:
run: dotnet nuget push /**/*.nupkg --source "github"
我还建议您使用GitHub加密机密https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets
在工作流文件中保护用户名和密码。