Central authority to manage pipelines


Hey there,

I’m looking for a way to manage identical pipelines across repositories.

We have over 100 repos and have created about 5 standardized pipelines (one for Java projects, one for JavaScript projects, etc.). Within a standardized pipeline, i.e. the Java pipeline, the extent of customization per project would be quite minimal or non-existent. For example, if a pipeline for project ‘ABC’ fails, post a message to ‘ABC’ slack channel and if pipeline ‘XYZ’ fails, post to ‘XYZ’ slack channel, small configuration things like that. Is there a way to manage this centrally so that a change to the pipeline does not mean a change to every repo?




Hello, welcome!

if I understand correctly, you can obtain that level of customization via pipeline vars.

To be able to change the pipeline only in one place, you could try keeping it in a separate repo and then parametrize with

in general, you can learn a lot by skimming the documentation and the release notes, although I understand that they don’t directly answer a question like “How do I do X?”.

While we are talking about pipelines and parametrization, also this might be useful: pipeline resource.



Right right, I was always thinking that the pipeline must be ran/started from the corresponding repo is is being used for, don’t know why I didn’t think that way…

Should be pretty trivial to create a pipeline repo, give each project it’s own config file, and then create the pipeline using the generic pipeline + config file.

Thank you!



this is because travis and circle all do this, it’s a common expectation

I keep my pipelines in my repos, but I store multiple pipelines per repo, e.g. a build pipeline, and deploy pipelines for each environment type