Estoy tratando de encontrar una manera de implementar el código ASP.NET con la menor molestia posible en el sitio. Una idea era configurar el sitio para ser servido desde un cruce NTFS c:\www\example.com
donde
c:\www\example.com -> c:\www\example.com_r1234
Luego, cuando se implementa un nuevo código, se copia c:\www\site.com_r1235
y se vuelve a unir la unión a
c:\www\example.com -> c:\www\example.com_r1235
Entonces, mi pregunta es ¿qué efecto podría tener esto en las solicitudes actuales en IIS? ¿Qué otros inconvenientes podría tener esto desde el punto de vista de la reacción de IIS al cambio (si corresponde)? ¿Será tan fácil para el usuario final del sitio como espero?
(He considerado cambiar la raíz web del sitio a través de la línea de comando, pero realmente no me gusta la idea de reconfigurar IIS debido a cualquier dominio de aplicación innecesario o cambio de grupo de aplicaciones que pueda ocurrir, pero no sé mucho sobre qué sucede cuando la ruta física configurada de un sitio cambia mientras está bajo carga)
Para ser claros, mi única preocupación aquí es la experiencia de mis usuarios finales. Mi objetivo es evitar molestias para ellos, no conveniencia para mí.
fuente
Respuestas:
Parece que este objetivo y su solución propuesta no están alineados, porque ahora tiene un montón de trabajo adicional o scripts involucrados para cada implementación.
Una cosa que he visto es instalar un cliente svn en el servidor de producción, y el sitio de producción es una copia desprotegida de una ubicación / rama específica en el árbol de control de origen. De esta manera, al menos solo tiene que actualizar los archivos modificados para nuevas implementaciones.
fuente
Creé una carpeta detrás de mi raíz web llamada
_images
luego copié un montón de archivos gif en él. Luego creé un enlace simbólico NTFS en mi raíz usando
En Visual Studio 2010, "Mostrar todos los archivos", luego actualizo ... e incluyo las nuevas "imágenes web" en mi proyecto. Ahora puedo señalar ...
Cuando ejecuto la aplicación, también funciona bien en mi máquina local.
No sé si funciona en el servidor real (IIS 7) hasta que la infraestructura se encargue de esto, ¿alguien sabe algún problema sobre por qué esto no funcionaría en la producción?
Creo que siempre y cuando los derechos estén ahí, debería ser, y si es así, qué gran manera de simplificar el intercambio de carpetas (de todo tipo) entre aplicaciones web.
Todavía no he tratado de expresar esto en TFS, así que si alguien tiene comentarios sobre esto, ¡háganoslo saber!
fuente
Esto no funcionará porque IIS puede pensar que web.config ha cambiado por otro programa. IIS probablemente arrojará una excepción System.Configuration.ConfigurationErrorsException. Sugeriría escribir algún tipo de script para cambiar el directorio de inicio del sitio.
fuente