我有一个包含多个 (java/gradle
) 项目的单一仓库:
project-a/
project-b/
project-c/
我想创建一个矩阵构建配置,每个项目一个构建。而且我只想在项目发生变化的情况下构建该项目。
这可能吗?
我可以很容易地创建一个脚本来检查一个文件夹是否受到了使用 $TRAVIS_COMMIT_RANGE
的影响。但是我将如何在 .travis.yml
中使用它?
编辑
Travis 中存在 adding support for include/exclude paths for when to trigger builds 的问题.有了矩阵支持,这将解决我的问题。
最佳答案
您基本上以一种或另一种形式询问条件构建。不幸的是 the documentation about conditional builds声明
Jobs created via matrix expansion currently cannot have conditions.
...即使它支持它,我也没有看到任何简单的方法来检查 the list of supported conditions 中的提交路径.
尽管如此,可以使用他们的 API 来实现该过程。您可以创建一个旨在仅运行脚本的构建配置,并检查现在需要构建哪个子项目。这个元构建脚本可以 trigger a travis build via the API .在该文档页面上,您可以找到如何从矩阵触发特定作业的示例。
关于build - Monorepo、Travis 和 Matrix 构建 : How do I build a specific path only when it changes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39596177/