I have a private gitlab instance with a lot of repositories for conan packages (70+). Developers will often change multiple repositories in a single CR. I'm trying to figure out how to control the CI pipelines so we only start a pipeline when all the conan dependencies are available. For example:
- Repo A depends on nothing
- Repo B depends on A
- Repo C depends on nothing
- Repo D depends on B and C If I change B and D I only want those two CI pipelines to run but B has to complete before starting D. I don't want to run pipelines unnecessarily (i.e. If I make a patch release of A and don't touch the other repositories, I don't want to rebuild anything else except A. If I make a major version change to A, I want all the repositories to rebuild even if they weren't explicitly changed. I'm running semantic-release so it will automatically update the version numbers in the previous cases).
First, it there a native gitlab CI method to manage this? If not, does anyone know of a tool I can use to automate starting the pipelines? If neither, suggestions on how I can write a script to manually start the pipelines?
I believe in the last case, I can use a job in the pipeline for A to start the other pipelines manually and have them update their versions and run although I'd need a master build dependency file (likely a conan lockfile stored on a server somewhere).
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744342193a4569467.html
评论列表(0条)