是否有某种方法可以将CircleCI作业限制为将代码提交到的目录?
#1 楼
该讨论对如何完成我想要的事情给出了很好的建议。https://discuss.circleci.com/t/does-circleci-2-0-work-with-monorepos/10378 / 11
评论
简要介绍所讨论的方法将是很好的-如果链接由于任何原因中断,则仅链接答案总是有失去其所有价值的风险。
–丹·科尼莱斯库(Dan Cornilescu)
17年11月16日在1:14
#2 楼
我们正在将CircleCI与Go monorepo结合使用。git push触发了CircleCI作业,该作业查找更改中包含哪些服务。
对于每个服务,请运行一个CircleCI作业,操作如下:另外,以开源形式发布:https://github.com/Tufin/circleci-monorepo
#3 楼
我来这里的还有@ effi-bar-shean和@langkilde的先前答案,它们对问题进行了很好的概述。我的答案将集中在JavaScript如何构建已更改的monorepo部分?
您可以使用CircleCI的2.0 API这样您就可以分别触发多个工作流程。如果您有JavaScript monorepo,则可以使用lerna之类的工具来触发您选择的工作流。这些软件包的工作流程。您可以在此处看到完整的示例
这里是Javascript monorepo存储库的示例
希望我的回答对您有所帮助😊
评论
我们最终通过一个构建工具构建了所有子项目(跨3种以上语言)来解决了这一问题-在我们的示例中是Gradle。到那时,我们能够利用Gradle构建缓存(最终将其缓存在CircleCI的构建缓存中!)来跳过不必要的子项目构建。如果有用的话,很高兴将其写为答案。