F#/ FAKE NuGet私人订阅认证

时间:2015-03-31 15:27:23

标签: authentication f# nuget artifactory f#-fake

我正在尝试使用FAKE将我的NuGet包恢复为构建脚本的一部分,但我需要使用需要身份验证的私有源(Artifactory)。

我在寻找解决方案时遇到了这个问题。 https://github.com/fsharp/FAKE/issues/119

它表示问题已通过提交解决,但我无法确定提交的位置或提交的版本,并且似乎没有任何记录的使用方式。< / p>

Target "RestorePackages" (fun _ -> 
     "./**/*.sln"
     |> RestoreMSSolutionPackages (fun p ->
         { p with
             Sources = "{url}" :: p.Sources
             OutputPath = outputDir
             Retries = 4 })
 )

我查看了源代码并找到了上面的代码段,虽然看起来没有与身份验证相关的参数,除非它们被传递到Sources参数中?

有没有人对使用FAKE程序包还原以使用身份验证有任何经验或知识?

2 个答案:

答案 0 :(得分:2)

您可以向nuget.config添加凭据,并在还原中指定它。

{ p with
     Sources = p.Sources
     OutputPath = outputDir
     Retries = 4 
     ConfigFile = Some "./tools/nuget/nuget.config" }

然后在配置中添加这样的内容。

 <packageSource>
     <add key="feedName" value="http://example.com/Feed.svc" />
 </packageSource>
 <packageSourceCredentials>
     <feedName>
         <add key="Username" value="xxx" />
         <add key="ClearTextPassword" value="secret" />
     </feedName>
 </packageSourceCredentials>

https://docs.nuget.org/consume/nuget-config-settings

答案 1 :(得分:1)

同时“ConfigFile”字段不再(不再)可用。但是,您应该能够利用nuget.config文件的分层特性(在此处解释:https://docs.nuget.org/consume/nuget-config-file)。

请同时参阅“包源凭据”一章,以加密方式存储密码。