.net 在Docker映像中使用“dotnet”测试Nuget Auth凭据
如果提供的凭据无效,我正在寻找一种安全而直接的方法来失败我的映像构建。问题是,我需要从中提取包的repo有一个策略,该策略在多次失败的尝试后锁定帐户——而且由于每个包都算作单独的身份验证尝试,一次错误的构建尝试将锁定帐户 在我的.net 在Docker映像中使用“dotnet”测试Nuget Auth凭据,.net,docker,nuget,.net,Docker,Nuget,如果提供的凭据无效,我正在寻找一种安全而直接的方法来失败我的映像构建。问题是,我需要从中提取包的repo有一个策略,该策略在多次失败的尝试后锁定帐户——而且由于每个包都算作单独的身份验证尝试,一次错误的构建尝试将锁定帐户 在我的Dockerfile中,我像这样设置nuget源代码,然后像这样恢复(或发布/运行,等等) 理想的解决方案有两种: dotnet restore的标志,如果任何包无法恢复,该标志将立即以非零代码退出,例如dotnet restore--failfast 一个单一、安全、幂
Dockerfile
中,我像这样设置nuget源代码,然后像这样恢复(或发布/运行,等等)
理想的解决方案有两种:
dotnet restore
的标志,如果任何包无法恢复,该标志将立即以非零代码退出,例如dotnet restore--failfast
dotnet
CLI还原它
如果您的凭据无效,它将失败,将有一个非零退出代码
dotnet restore
时,它使用一种特殊的机制来累积不同级别的设置:
- 解决方案
- 使用者
- 计算机
nuget.config
文件将被更新
(在Windows上,它位于那里%APPDATA%\NuGet\NuGet.config
)
dotnet nuget添加源代码https://my-example-repo.jfrog.io/my-example/api/nuget/nuget \
-人工神经\
-u${JFROG_USERNAME}\
-p${JFROG_密码}\
--以明文形式存储密码
credentials test.csproj
的测试项目文件:> dotnet restore .\credentials-test.csproj
Determining projects to restore...
Restored C:\Projects\nuget-restore-2\credentials-test.csproj (in 340 ms).
> $LastExitCode
0
如果凭据无效或出现任何其他故障,结果将是:
> dotnet restore .\credentials-test.csproj
Determining projects to restore...
<SOME ERROR MESSAGE>
> $LastExitCode
1 <-- Or some different non-zero exit code
>dotnet还原。\credentials-test.csproj
正在确定要恢复的项目。。。
>$LastExitCode
我不知道有这样的事。可能,您可以创建一个简单的CLI util,以编程方式检查凭据,如果凭据无效,则使用退出代码失败。为什么您的凭据无效?通常,你设置了它们,它们都很好。我不知道为什么我有有效的凭据,这就是为什么我希望能够测试它们。这是您典型的企业场景——一个团队拥有存储库,另一个团队拥有构建环境,在这里,我试图让他们连接起来,而不必总是让每个人都参与进来。创建一个只引用其中一个包的测试项目怎么样?
dotnet restore .\credentials-test.csproj
> dotnet restore .\credentials-test.csproj
Determining projects to restore...
Restored C:\Projects\nuget-restore-2\credentials-test.csproj (in 340 ms).
> $LastExitCode
0
> dotnet restore .\credentials-test.csproj
Determining projects to restore...
<SOME ERROR MESSAGE>
> $LastExitCode
1 <-- Or some different non-zero exit code