Scenerio is that:
-
We have Azure DevOps and we can run a pipeline into one of x number of named environments
-
We make use of Azure App Configuration, and labels for the values for each environment. So for each setting, it might have a different value depending on the label
It occurs to me that if i match up the label to the same as the names of the environments, then in code, when i get the config value, if I can somehow determine what environment I've been deployed to (speaking from the code's point of view) then i can just pass this variable when getting the app config and i will have the correct config settings for my environment.
var environment = // HERE find my deployed to environment as in pipeline (1.) var credentials = new DefaultAzureCredential(); configurationBuild.AddAzureAppConfiguration(options => { options.Connect(settings.GetValue<string>("ConnectionStrings:AppConfig")) .Select(KeyFilter.Any, LabelFilter.Null) .Select(KeyFilter.Any, labelFilter: environment); });
I was thinking that the solution would be something of the form of setting the environment in the azure-pipelines.yaml where the pipeline somehow knows the choice of environment and then reading it in code back out of the environment variable. but i dont know how to do that, or if there is a better way to do it? Thanks in advance for any help offered.
https://stackoverflow.com/questions/65912361/how-to-find-the-deployment-environment-of-an-azure-function-app-in-code January 27, 2021 at 11:06AM
没有评论:
发表评论