多个开发团队正在开发使用npm构建的angular 7项目,其中.Select(group => new Zip
{
Country_Code = group.Key.Country,
State_Code = group.Key.State,
City = group.Key.City,
Zip_Code = group.Key.zipCode
}).ToList();
具有所有依赖性。
这些开发团队将代码提供给单个DevOps团队来构建代码。
说,对于有角度的project1 package.json
,将安装package.json提到的所有依赖项,这些依赖项将安装在jenkins worker节点上。使用命令npm install
我的理解是,
对于有角度的项目2,npm run build
可能具有相似依赖性的不同版本。
因此,角度项目2的package.json
可能未在相同的詹金斯工作节点上安装必需的依赖项,这似乎是个问题,因为项目1已安装了那些依赖项依赖项(但版本不同)。
1)是否建议在单个工作节点(詹金斯)上构建多个角度项目?
2)如果否,是否每个角度项目构建都应该在单独的docker容器(运行Jenkins)上进行以解决此问题?
答案 0 :(得分:1)
幸运的是,有很多方法可以做到这一点。
1)可以用单个节点构建多个项目,但是可以采取一些文件夹/归档步骤来避免每次都删除/重新安装依赖项。您可能能够将不同版本的依赖项保存在存档文件中,以免最终导致冲突。有关起点,请参见this answer。
2)我发现,将项目彼此隔离是构建项目时最干净的解决方案。尽管我相信,这是最好的选择,但我不确定这是否是事实。有人可以称体重吗?