增量构建的Angular 6+ Monorepo

时间:2018-08-30 12:37:48

标签: angular continuous-integration

我们的前端应用程序有一个monorepo,它由三个部分组成:

  • 用户
  • 合作伙伴
  • 管理员

我们还有一些共享模块。有谁知道一种可以配置为基于提交更改运行特定命令的工具吗?例如,如果仅更改了“用户”项目,则无需在CI构建中构建所有项目。如果我们更改了“共享”下的内容,则仅需要重建所有它们。

因此,我们正在寻找一种可行的解决方案,以检查提交文件并根据此文件的路径来决定应在CI上运行什么命令,例如,如果在src / projects / user下进行了至少一项更改,运行“ ng build user ...”。

2 个答案:

答案 0 :(得分:1)

您可以签出nx。它为monorepo项目提供了一些工具,包括基于存储库更改进行自动构建

https://nrwl.io/nx

答案 1 :(得分:0)

Microsoft的Rushjs是一种开源替代方案,您几乎可以立即使用增量构建。

https://rushjs.io/

棘手的部分是使用CI进行设置,因为您需要以某种方式保留状态。我个人使用了docker镜像。

还有lerna可以与其他工具结合使用,但是您必须编写/查找更多工具以补充lerna来完成这种事情。