Integración con una canalización de CI/CD
En este artículo se explica cómo usar datos de Azure App Configuration en un sistema de integración e implementación continuas.
Use App Configuration en la canalización de Azure DevOps
Si tiene una canalización de Azure DevOps, puede capturar valores de clave de App Configuration y establecerlos como variables de la tarea. La extensión de DevOps de Azure App Configuration es un módulo adicional que proporciona esta funcionalidad. Obtenga este módulo y consulte Configuración de exportación desde App Configuration con Azure Pipelines para obtener instrucciones para usarla en Azure Pipelines.
Implementación de datos de App Configuration con la aplicación
La aplicación puede no ejecutarse si depende de Azure App Configuration y no puede acceder a él. Mejore la resistencia de la aplicación mediante el empaquetado de los datos de configuración en un archivo que se implementa con la aplicación y se carga localmente durante el inicio de la aplicación. Este enfoque garantiza que la aplicación tenga un valor de configuración predeterminados en el inicio. Estos valores se sobrescriben con los cambios más recientes en un almacén de App Configuration cuando está disponible.
Mediante la función Exportar de Azure App Configuration, puede automatizar el proceso de recuperar los datos de configuración actuales como un único archivo. A continuación, puede insertar este archivo en un paso de compilación o implementación en la canalización de integración continua e implementación continua (CI/CD).
En el ejemplo siguiente se muestra cómo incluir los datos de App Configuration como un paso de compilación para la aplicación web que se introdujo en los inicios rápidos. Antes de continuar, finalice primero el tutorial Creación de una aplicación ASP.NET Core con Azure App Configuration.
Para realizar los pasos de este tutorial, puede usar cualquier editor de código. Visual Studio Code es una excelente opción disponible en las plataformas Windows, macOS y Linux.
Requisitos previos
Si compila localmente, descargue e instale la CLI de Azure si aún no lo ha hecho.
Exportación de un almacén de App Configuration
Abra su archivo .csproj y agregue el siguiente script:
<Target Name="Export file" AfterTargets="Build"> <Message Text="Export the configurations to a temp file. " /> <Exec WorkingDirectory="$(MSBuildProjectDirectory)" Condition="$(ConnectionString) != ''" Command="az appconfig kv export -d file --path $(OutDir)\azureappconfig.json --format json --separator : --connection-string $(ConnectionString)" /> </Target>
Abra Program.cs y actualice el método
CreateWebHostBuilder
para que use el archivo JSON exportado, para lo que es preciso llamar al métodoconfig.AddJsonFile()
. Agregue también el espacio de nombresSystem.Reflection
.public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .ConfigureAppConfiguration((hostingContext, config) => { var directory = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var settings = config.Build(); config.AddJsonFile(Path.Combine(directory, "azureappconfig.json")); config.AddAzureAppConfiguration(settings["ConnectionStrings:AppConfig"]); }) .UseStartup<Startup>();
Compilación y ejecución de la aplicación en un entorno local
Establezca una variable de entorno llamada ConnectionString y defínala como la clave de acceso a su almacén de App Configuration.
Para compilar y ejecutar la aplicación de forma local mediante el símbolo del sistema de Windows, ejecute el siguiente comando y reinicie el símbolo del sistema para que se aplique el cambio:
setx ConnectionString "<connection-string-of-your-app-configuration-store>"
Para compilar la aplicación mediante la CLI de .NET, ejecute el siguiente comando en el shell de comandos:
dotnet build
Una vez que la compilación se haya realizado correctamente, ejecute el siguiente comando para ejecutar la aplicación web localmente:
dotnet run
Inicie una ventana del explorador y vaya a
http://localhost:5000
, que es la dirección URL predeterminada de la aplicación web hospedada localmente.
Pasos siguientes
En este tutorial, ha exportado los datos de Azure App Configuration para su uso en una canalización de implementación. Para más información sobre App Configuration, continúe con los ejemplos de la CLI de Azure.