Nuget 使用下载并安装的软件包作为另一台计算机的源

Nuget 使用下载并安装的软件包作为另一台计算机的源,nuget,chocolatey,Nuget,Chocolatey,我开始使用人造巧克力作为我的主要来源,我需要一台机器作为另一个没有互联网的来源 情景: 机器A安装从Artifactory拉取的packageA和packageB(互联网访问)。这里一切都好 机器B没有互联网接入,只能与机器A通话 是否可以将机器A配置为机器B的Artifactory的代理?基本上,机器A将是机器B的一个源,机器A将有Artifactory作为它的源 我将在这里进行一些猜测,如果有任何错误,请纠正我 存在于上的大多数巧克力包都是本地安装程序的包装,存在于internet上,并在安

我开始使用人造巧克力作为我的主要来源,我需要一台机器作为另一个没有互联网的来源

情景:

机器A安装从Artifactory拉取的packageA和packageB(互联网访问)。这里一切都好

机器B没有互联网接入,只能与机器A通话

是否可以将机器A配置为机器B的Artifactory的代理?基本上,机器A将是机器B的一个源,机器A将有Artifactory作为它的源


我将在这里进行一些猜测,如果有任何错误,请纠正我

存在于上的大多数巧克力包都是本地安装程序的包装,存在于internet上,并在安装时下载。这些安装程序包被放置在第一台机器上,这样就可以进行安装。然而,Chocolate也非常擅长在其自身(可能的地方)进行清理,以最大限度地减少硬盘上占用的空间

因此,如果不引入包内部化的概念,您所描述的可能是不可能的。对此进行了详细描述,其中一个重要部分是:

注意:许多存储库都有代理存储库的概念。与NuGet存储库不同,您可能不需要指向社区存储库的代理NuGet/Chocolate存储库。它们只缓存包-缓存与内部化的概念不同。要以可靠的方式重用社区存储库中的包,您需要将它们内部化。社区存储库受分发权限的约束,这意味着许多包需要在运行时从internet下载内容。这是不可靠的,对许多组织来说是不可能的。您可以使用包内部化器,也可以从社区存储库手动内部化要使用的包


如果您完成了软件包的内部化过程,那么您网络中任何无法访问internet的计算机都可以使用并安装这些软件包。

谢谢您的反馈。我上传了一张显示场景的图片。希望这将有助于澄清我所描述的内容。机器A可以访问互联网;因此,您可以从远程工件源获取包。机器B只能访问机器A,我需要在机器B上安装软件包。我不确定是否可以使用Chocolate,因为我对它还是新手。您使用的是许可版本的Chocolate,还是OSS版本?目前是OSS。我正在努力确保在投资之前我能涵盖我的主要场景。简短回答。。。今天,巧克力在这里没有提供任何有助于这一点的东西。您需要在站点B上建立另一个Artifactory实例,并使其镜像站点A中的内容。或者,您需要将包从站点A下载到站点B中的“其他内容”中。该“其他内容”将是您下载包的本地共享,Chocolate可以将其用作源,或者类似巧克力的简单服务器。将包添加到这个额外的源代码中并不是免费的,您可能需要编写一些脚本来下载/内部化包,并将它们放在正确的位置。