是否可以将Github存储库用作Paket的Nuget源?

查看文档https://fsprojects.github.io/Paket/github-dependencies.html似乎并非如此,我尝试将Github存储库和Git存储库配置组合使用,但没有真正的成功。

我一直在兜圈子,试图让SSH代理零运气地与我们的TeamCity配置一起使用,以便仅使用纯git依赖项。

鉴于这证明是徒劳的,我想切换到在github上使用auth token ,但是看不到任何将其与指定Package源结合使用的选项。

理想情况下,我追求的是:

github myorganisation/myrepo githubAuthKey Packages: /nuget/

最佳答案

使用GitHub作为NuGet存储库有两个步骤,您已经完成其中之一。您需要使用nuget中的Paket paket.dependencies实际从所需的存储库/路径中提取所需的NuGet软件包。您发出的第一个命令仅完成一半的工作。本质上是在设置您的NuGet源。我更喜欢使用本地安装的git,因此我使用的是github而不是Paket的git,但是本质上是相同的...

git https://github.com/<User>/<Priv NuGet repo> [branch|label] Packages: <path to .nupkg files>

nuget <NuGet package ID> <semantic version>

所以,如果我的GitHub存储库看起来像这样……
/.
 -> A.1.0.0.0.nupkg
 -> A.2.0.0.0.nupkg
 -> B.1.0.0.0.nupkg
 -> C.1.0.0.0.nupkg

我需要A,B和C,所有版本都为v1.0.0.0,我会像这样设置paket.dependencies……
git https://github.com/EricLease/MyNuGetRepo master Packages: /
nuget A 1.0.0.0
nuget B 1.0.0.0
nuget C 1.0.0.0

注意:如果您的软件包位于存储库中的某个子文件夹下,例如/nuget/,那么您将更改Packages: /以匹配(Packages: /nuget/)

paket.references文件下,我可以将所需的包引用为ABC

这将导致一个paket.lock文件,看起来像这样...
NUGET
  remote: paket-files/github.com/EricLease/MyNuGetRepo
    A (1.0.0.0)
    B (1.0.0.0)
    C (1.0.0.0)
GIT
  remote: https://github.com/EricLease/MyNuGetRepo
     (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
      path: /

请注意,这些软件包的NUGET remote实际上设置为您的本地paket-files文件夹,该文件夹由GIT remote上的packet installupdate填充。

08-26 20:21
查看更多