在单个詹金斯工作者节点上构建多个角度项目

时间:2019-02-13 03:10:39

标签: angular docker jenkins npm jenkins-pipeline

多个开发团队正在开发使用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)上进行以解决此问题?

1 个答案:

答案 0 :(得分:1)

幸运的是,有很多方法可以做到这一点。

1)可以用单个节点构建多个项目,但是可以采取一些文件夹/归档步骤来避免每次都删除/重新安装依赖项。您可能能够将不同版本的依赖项保存在存档文件中,以免最终导致冲突。有关起点,请参见this answer

2)我发现,将项目彼此隔离是构建项目时最干净的解决方案。尽管我相信,这是最好的选择,但我不确定这是否是事实。有人可以称体重吗?