En esta página se explica cómo crear un nuevo sitio en IIS desde cero. Este mismo procedimiento sirve tanto para la primera publicación de un sitio en QAS como en PRD, con la única diferencia que para publicar en QAS se comienza generando la publicación desde VS mientras que para publicar en PRD se debe copiar lo que había publicado en QAS (copiar lo que el cliente final probó y aprobó).
Para generar la publicación de la nueva aplicación en QAS, se usa el comando Publish del menú contextual del proyecto Web de la solución a publicar. Hay que tener en cuenta que hacia QAS siempre se publica un release correctamente versionado (no publicar nunca desde Development ni desde Main)
Esto abre el cuadro de diálogo de publicación donde se debe elegir en el Publish method que se publique sobre el sistema de archivos (no utilizar WebDeploy), la carpeta donde el VS dejará los archivos de la publicación, y elegir siempre la opción de eliminar el contenido anterior de la carpeta:
Luego, esta carpeta se copia dentro de \\qa-web\Publish\Noanet (en la carpeta Noanet hay una carpeta por cada aplicación web publicada en el IIS de QA-WEB).
Una vez en la carpeta de publicación de QA-WEB, será necesario modificar algunos parámetros en el archivo web.config:
La cadena de conexión en la sección NHibernateConfiguration
Cadenas de conexión a bases de datos en la sección connectionStrings
Url de los endpoints en la sección serviceModel
Logueo de excepciones en la sección log4net
Una vez generada la carpeta de publicación en QAS, se debe crear la aplicación en IIS. Para ello hay que entrar por escritorio remoto al servidor QA-WEB y abrir la consola de IIS:
Dentro de la consola de IIS, puede ser necesario crear un nuevo AppPool. Un AppPool define básicamente qué cuenta de usuario correrá la aplicación web y qué versión de Fwk .NET utilizará. Cuando varias aplicaciones corren con la misma identidad y la misma versión de Fwk, pueden compartir el mismo AppPool y por lo tanto no es necesario crear uno nuevo.
Si es necesario crear el AppPool, se lo hace en el elemento Grupos de aplicaciones de la consola de administración del IIS, menú contextual Agregar grupo de aplicaciones:
Cuando se abre el cuadro de diálogo correspondiente, solo se indica el nombre del AppPool y se debe especificar la versión de Fwk .NET con el que correrá (típicamente versión 4) y el modo de canalización integrado:
Esto crea el AppPool, pero con una identidad genérica. Para cambiar la cuenta de usuario que corre el AppPool hay que hacer click derecho sobre el mismo y elegir la opción Configuración avanzada del menú contextual. Cuando se abre el cuadro de diálogo correspondiente, se busca la propiedad Identidad y allí se configura la cuenta de usuario que ejecutará la aplicación web (se deberán proporcionar las credenciales de acceso de la cuenta de usuario que se indique):
Con esto el AppPool ya está listo para usarse. Lo que resta es crear la aplicación web en sí. Para esto hay que usar el comando Agregar aplicación del sitio donde se creará la aplicación (siempre sobre Default Web Site):
Una vez abierto el cuadro de diálogo, solamente se especifica el alias (url) de la nueva aplicación, el AppPool que ejecutará la misma y la ubicación de la carpeta de publicación:
Así, la nueva aplicación web ya debería estar funcionando correctamente.
Técnicamente, la publicación en producción es idéntica a la publicación en QAS. Sin embargo, operativamente la realiza Infraestructura TI, por lo cual lo que se busca es coordinar y guiar el trabajo de la gente de Tecnología, en lugar de realizarlo en sí.
Algunas diferencias para tener en cuenta:
Cuando se trate de un sitio totalmente nuevo, copiar la carpeta de publicación existente en QAS a una carpeta de publicación configurada para producción en \\qa-web\c$\Temp (carpeta que se borrará una vez estabilizado el sitio en producción)
Enviar un PDF indicando los pasos a seguir con la mayor precisión posible.
Las contraseñas de acceso a bases de datos en producción las gestiona el sector Base de Datos a través de la herramienta EncryptMe
En la carpeta temporal para pasar a producción, reconfigurar los elementos del archivo web.config como se reconfiguran cuando se publica por primera vez en QAS.
La ubicación de los archivos de log en producción es C:\SitesLogs (para los appenders de la sección log4net)