Reputation: 96
My organization runs DEV, QA, UAT and Production environments. Each one of the environments has a different set of backend endpoints. The guidance provided by Microsoft is extremely vague on how to handle this situation. I know that I can utilize properties to store the differences. I can also get copies of all of the configuration utilizing the git repository.
My question is: How do I promote changes from DEV to QA and so on? Each git repository is tied to the specific API Management instance. I could manage more than one git repository, but I feel like that would be a lot of deleting and copying of files. How have others solved this problem? Or am I missing the boat in terms of how I should be managing this?
Upvotes: 4
Views: 4328
Reputation: 3553
You should look into the new ARM templates feature to deploy API management.
The ARM template should contain all the parameters. https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.apimanagement/api-management-create-all-resources
You still need a workflow to create the ARM templates for only the resources that are ready for the next environment.
For doing the GIT workflow, check this out: https://www.oppedijk.com/2017/02/04/api-management-dtap-lessons-learned.html It describes how to work with GIT, you will need some 2 or 3 way merge tools. Also you need to keep the guids of all products the same for easy merging.
Upvotes: 4