在我们的项目中,我有一个大型的VS解决方案,其中包含几个“主要”项目(后端服务器,api服务器,微服务等)以及许多其他具有通用功能的项目,这些项目可在“主要”项目中使用。 现在,当每个“主”项目都在容器构建期间在容器内部构建时,我现在正在尝试使用docker-compose建立部署过程。每个“主”项目都部署到其自己的容器中,并且每个容器的构建过程可以简化为以下过程:
这里的问题是,由于每个“主”项目都是在其自己的隔离环境中编译的,因此许多补充项目都会被编译多次。 NuGet恢复也发生在每个图像中。
问题是:
1)是否有可用的MSBuild远程缓存解决方案?例如,如果项目A是在第一个容器中编译的,那么它不会在第二个容器中重新编译,而使用缓存的编译版本吗?
2)是否有NuGet通用缓存?例如,如果已经从1个容器中的nuget服务器下载了软件包,那么将缓存的版本用于另一个容器中而无需重新下载?
谢谢。