0
votes

We are planning to implement CI/CD for our project. In summary, our setup is the following:

  • Code Repository (contains solution and project files)
  • Config Repository (contains .config files for different countries)

Aside from having multiple environments, we also have instances in multiple countries. Sample below:

  • Country 1
    • Dev
    • QA
    • Prod
  • Country 2
    • Dev
    • QA
    • Prod

I understand that Azure Release Pipelines can have multiple Stages (Dev, QA, Prod) and Variables that can be used for deployment. Then we can have a 1 Release Pipeline for each country.

What I am having difficulty is the Config Repository. Sometimes, developers may need to update a specific config file for a Country for a specific environment.

The only solution I can think of is trigger a release pipeline with this again, but just to replace the Web.config on IIS in the VM.

However, this is not good, because if developers only update Code Repository, any changes from Config Repository will be overwritten.

Any suggestions on how to automate multiple countries / environments with pipelines?

Thank you

1
Are you using Classic Build Releases or Multi Stage YAML? Also how are these being hosted on a VM or a PaS solution?DreadedFrost
Multi Stage YAML; we are hosting the web sites / services in a VM.Water

1 Answers

1
votes

Hi you can use Azure DevOps Environments to target environment strategy (in your case country and Dev/QA/Prod)

Normal practice shouldn't using repository for .config and any settings files. you can also consider using Secure files for Azure Pipeline or inline script (within your environment deplyonce)

you can start exploring that Azure Pipeline Environment to understand it and YAML and how can it apply to you Multi-Stage YAML.