webjobs webjob visual studio microsoft management jobhostconfiguration deploy azure app-config azure-webjobs web.config-transform

azure - visual - webjob c#



¿Es posible tener transformaciones de App.config para un Azure WebJob para diferentes perfiles de publicación? (2)

Donde trabajo, creamos sitios web de Azure y bases de datos SQL para fines de desarrollo según sea necesario, así como para entornos de producción y almacenamiento intermedio. Creamos una transformación web.config para cada perfil de publicación para cambiar la cadena de conexión de la base de datos a la base de datos asociada con ese sitio web.

Ahora, estoy tratando de crear un Azure WebJob que necesitará realizar actualizaciones a una base de datos. Lo creo haciendo clic con el botón derecho en un proyecto de aplicación web y seleccionando Agregar un nuevo Azure WebJob.

Lo que necesito para hacer esto para hacer lo que necesito es la cadena de conexión de la base de datos SQL que apunta a la misma base de datos que usa la aplicación web. Sé que se pueden configurar en el portal de Azure y se pueden capturar con el administrador de configuración, pero preferiría tenerlo en la aplicación .config del WebJob y transformar la aplicación.config según sea necesario.

Intenté usar Slow Cheetah para esto, pero parece que solo puedes tener una transformación para las configuraciones de Depuración y Liberación.

Comencé a seguir los pasos especificados en este blog: http://gunnarpeipman.com/2013/11/using-web-config-transforms-with-app-config-files/

Le indica cómo editar manualmente el archivo .csproj para habilitar las transformaciones de App.config. Sin embargo, esta no es una mejor solución, ya que tendría que editar manualmente el archivo de proyecto para cada transformación que necesite.

¿Alguien puede decirme cómo lograr esto? ¿Es incluso posible? O ¿hay alguna manera de compartir los valores en el archivo web.config de mi aplicación web que sé que se transformarán en lo que necesito que sean?


Como sugirió @binard, Slow Cheetah es una excelente manera de crear transformaciones web.config o app.config. Una vez que cree las transformaciones, también puede obtener una vista previa de las transformaciones para una configuración específica.

Mi forma preferida es crear configuraciones personalizadas, por ejemplo, Dev y Prod, y al usar la extensión "Transformaciones XML de Cheetah Lento", cree las transformaciones para Dev y Prod aparte de Debug y Release.

Una vez que se complete este paso, el siguiente desafío es asegurarse de que la configuración de la Implementación Continua en Azure recoja la configuración correcta. Para hacer esto, debe configurar la configuración asociada con su aplicación web de Azure en la sección "Configuración de la aplicación" en el Portal de Azure. Ejemplo:

SCM_BUILD_ARGS=-p:Configuration=Dev

Una vez que se haya configurado, todos los webjobs bajo esta aplicación web en Azure recogerán las transformaciones para la configuración especificada en la aplicación web principal.