2011-12-08 31 views
9

Actualmente estoy implementando una aplicación web en Microsoft Azure. Mi preocupación es cómo usar la ranura provisional junto con ACS.Uso de ACS en la ranura de Azure Staging

Quiero empujar mi aplicación a la ranura de puesta a prueba, verificar que esté funcionando y luego hacer un intercambio VIP a la producción.

El enfoque es bastante sencillo, excepto la configuración del ACS. Dado que la ranura de ensayo obtiene una URL aleatoria durante la implementación, la configuración de ACS debe realizarse después. El web.config de WebRole y la aplicación Relying Party en el ACS se deben configurar con la nueva URL de la ranura de ensayo.

Vittorio Bertocchi describe en su blog post cómo actualizar el web.config sin volver a implementarlo y supongo que el ACS podría actualizarse con un script después del despliegue para la puesta en escena.

Este enfoque parece bastante complicado y frágil; Estoy buscando una solución simple y sólida para mi proceso de implementación. ¿Hay algo que me he perdido?

Dado que la configuración de ACS es bastante simple y directa en una ranura de producción, he estado pensando en omitir las pruebas de la aplicación en la ranura de etapas y solo utilizarla para realizar el cambio VIP a producción (la aplicación sería probado en su propio servicio alojado "QA").

¿Qué opina de este enfoque? ¿Puede haber diferencias entre los servicios alojados en Azure?

Respuesta

0

Quizás su aplicación podría establecer programáticamente la URL de retorno cuando redirige al ACS. Esto redirigiría al usuario a la ranura de transición o a la ranura de producción después de que se autenticaran.

Esta pregunta muestra cómo establecer el reino, pero la URL de retorno es más que otro parámetro: WIF cross-domain on one IIS site, dynamically setting of realm

0

He resuelto mediante la creación de un nuevo servicio en la nube llamada "prueba". Entonces, cuando envío mi aplicación a la ranura de transición, también envío otra instancia (con diferente web.config) a la ranura de producción de mi servicio de "prueba". Si la aplicación "prueba" funciona correctamente, elimino la aplicación de prueba y cambio mis ranuras de producción en etapas.

No es la solución ideal, pero podría resolver su problema.

0

Acabo de utilizar las entradas del archivo de hosts para probar instancias de ensayo. Por ejemplo, digamos que su servicio está alojado en myservice.cloudapp.net. Por lo general, tu tragamonedas de transición obtendrá una url como [guid] .cloudapp.net, pero también recibirá una VIP pública (puedes obtenerla desde el panel de control del servicio o haciendo un nslookup [guid] .cloudapp.net). Puede agregar una entrada de archivo de hosts como "[VIP público] myservice.cloudapp.net". Una vez que haga esto, puede hacer una instancia de ensayo simplemente utilizando myservice.cloudapp.net y no es necesario cambiar la configuración de ACS.

Cuestiones relacionadas