多台计算机的通用msbuild缓存和nuget缓存

时间:2020-04-03 11:36:31

标签: docker msbuild nuget

在我们的项目中,我有一个大型的VS解决方案,其中包含几个“主要”项目(后端服务器,api服务器,微服务等)以及许多其他具有通用功能的项目,这些项目可在“主要”项目中使用。 现在,当每个“主”项目都在容器构建期间在容器内部构建时,我现在正在尝试使用docker-compose建立部署过程。每个“主”项目都部署到其自己的容器中,并且每个容器的构建过程可以简化为以下过程:

  1. 从github克隆源代码
  2. 构建项目
  3. 将已编译的项目部署到映像中。

这里的问题是,由于每个“主”项目都是在其自己的隔离环境中编译的,因此许多补充项目都会被编译多次。 NuGet恢复也发生在每个图像中。

问题是:

1)是否有可用的MSBuild远程缓存解决方案?例如,如果项目A是在第一个容器中编译的,那么它不会在第二个容器中重新编译,而使用缓存的编译版本吗?

2)是否有NuGet通用缓存?例如,如果已经从1个容器中的nuget服务器下载了软件包,那么将缓存的版本用于另一个容器中而无需重新下载?

谢谢。

0 个答案:

没有答案