我们的项目嵌套在一个单一的存储库中。想象一下,我们在“项目”文件夹中有一个项目。例如“项目/我们的项目”。好吧,我们希望能够将我们的 .drone.yml 检入“我们的项目”,但似乎 Drone 想要项目根目录下的配置文件,这没关系,我们可以通过更改“命令”我们构建的部分。我们遇到的问题是我们只想在“我们的项目”中的某些内容发生更改时运行构建。我找不到用 Drone 精确地做到这一点的方法,所以我们下一个最接近的赌注是条件,我认为我们可以为“our-project”创建命名空间所有分支,例如“our-project/some-branch”。然后我们可以设置一个条件,只在“our-project/some-branch”和“master”上运行构建,这将限制我们从其他项目分支运行的“假构建”的数量:
build:
when:
branch:
- master
- our-project/*
问题是当我们尝试将请求从“our-project/ ”分支拉到“master”时,构建不会运行,我猜是因为它是在不在 master 或“我们的”中的合并提交上运行的-项目/ “
我的问题有两个方面:1. 使用单存储库模式(多个项目,一个存储库)利用无人机的最佳方法是什么 2. 如果 Drone 不支持该模式或不是为它设计的,什么是限制“虚假构建”的最佳解决方法
注意:我们可以在构建开始时检查子文件夹中的更改,如果没有则返回绿色。我这是推荐的方法吗?