es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Puede implementar appsettings.json en Azure?

Tenemos 4 entornos de Azure para las etapas de nuestro proceso de desarrollo: Dev, QA, UAT, Producción. Como es de esperar, las configuraciones y opciones deben diferir entre los entornos, por ejemplo, en dev "apiurl": "http://dev-api.ourdomain.com" debe convertirse en "apiurl": "https://uat-api.ourdomain.com" para UAT.

En este momento configuramos esto manualmente en la página de Configuración del Servicio de Aplicación en el Portal de Azure. Hay problemas con este método que estamos tratando de superar:

  1. No se puede programar para que ocurra con las versiones, debe hacerse manualmente
  2. Es propenso a errores humanos
  3. Se pierden los valores anteriores
  4. No podemos comparar fácilmente los valores entre los entornos
  5. No podemos ver fácilmente qué configuraciones ya no se utilizan

Nos gustaría configurar un appsettings.json con transformaciones de entorno para las diferencias. Esto soluciona los últimos 3 problemas, ya que se almacenará en nuestro control de código fuente (si no es secreto), pero esto no sirve de nada si no podemos implementar ese mismo archivo para configurar la configuración de Azure. Los pasos del pipeline podrían resolver los problemas 1 y 2, pero reintroducen los problemas 3 y 5.

Seguramente hay una manera sencilla de hacer esto que estoy pasando por alto?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una manera simple de abordar todos estos problemas utilizando las canalizaciones de lanzamiento de Azure DevOps y el servicio Azure App Configuration.

    En primer lugar, crea instancias separadas de App Configuration para cada entorno y establece las configuraciones específicas del entorno allí.

    Luego, en tu repositorio de código, crea un archivo appsettings.json separado para cada entorno con los valores específicos del entorno.

    En tu canalización de lanzamiento de Azure DevOps, agrega una tarea para transformar el archivo appsettings.json para el entorno objetivo durante el proceso de lanzamiento, utilizando la tarea File Transform.

    Después de la transformación, utiliza la tarea Azure App Configuration para establecer las configuraciones de la aplicación para el entorno objetivo, utilizando la instancia de App Configuration para ese entorno.

    Este enfoque resuelve todos los problemas mencionados en la pregunta: puede programarse para que ocurra con los lanzamientos, elimina errores humanos en la configuración de las aplicaciones, preserva los valores anteriores en el almacén de App Configuration, facilita la comparación de configuraciones entre entornos y ayuda a identificar configuraciones no utilizadas.

Comments are closed.