As part of more automation in deployments, we would like to use Azure DevOps as the main build- and release-tool. As our main goal at the moment is to serve mostly Azure and also make the templates reusable, we would like to use YAML templates in the build-process and ARM (Azure Resource Manager) ones for the setup of the Resources in Azure.
One interesting part we have no solution so far, is how to handle the management of these templates: It is technically quite easy to set up a distinct repository and target the templates there, it seems like it doesn't scale that well:
- How to handle project-specific steps or ones, which aren't needed?
- How to handle customization of the templates of any sorts, yet without having to copy them to each repo?
- How does one find the correct template he seeks?
In my previous company, we went with the approach to manage it centrally and to add a lot of parameters, but it didn't scale well even for a way smaller number of templates and we also lost a lot of the benefits.
I guess I'm not the first person to ask these questions, yet I didn't find any good articles about the management best practices. I would therefore like to know, if anyone has experience regarding that topic and what is working and what isn't?