2015-04-15 50 views
1

我在構建腳本中使用了以下目標,並且它在我針對包的Nuget訂閱源時似乎工作,但我的組織使用artifactory並且具有需要憑據的私有訂閱源。在Nuget私人訂閱源中使用FAKE

Target "RestorePackages" (fun _ -> 
    "./**/*.sln" 
    |> RestoreMSSolutionPackages (fun p -> 
     { p with 
      Sources = "https://prd-artifactory.jfrog.com:8443/artifactory/api/nuget/some-private-feed" :: p.Sources 
      OutputPath = "./packages" 
      Retries = 4 
      ConfigFile = Some "./.nuget/nuget.config" }) 
) 

我需要能夠在用戶名/密碼傳遞給這個目標,所以我可以在TeamCity的傳遞中使用的憑據運行此。

的NuGet文檔指出,您可以運行以下命令:

NuGet.exe Sources Add -Name <feedName> -Source <pathToPackageSource> -UserName xxx -Password <secret> 

但我不知道如何在我的目標構建腳本使用。

+0

我認爲有TC的預先認證的網址。 (其中包含url中的登錄數據) – forki23

+0

由於找不到「ConfigFile」屬性,因此有所更改 http://fsharp.github.io/FAKE/apidocs/fake-restorepackagehelper-restoresinglepackageparams.html – paulio

回答

1

您提到的Nuget源命令允許設置憑據以訪問給定的軟件包源。
憑據添加到nuget.config文件以下列方式:

<packageSourceCredentials> 
    <feedName> 
     <add key="Username" value="user" /> 
     <add key="Password" value="...encrypted..." /> 
    </feedName> 
</packageSourceCredentials> 

只要確保你在nuget.config文件,你指的是證書,它應該工作。