sobre - ¿Qué método utilizas para implementar aplicaciones ASP.Net a la naturaleza?
que es asp net mvc framework (6)
Actualmente implementamos aplicaciones compiladas de ASP.Net publicando el sitio web localmente y enviando un archivo zip al administrador del sistema con un (por lo general) extenso conjunto de instrucciones para la implementación. Esto se debe a que la primera vez que implementamos una aplicación ASP.Net en un cliente, la instancia de desarrollo y prueba de IIS fue la misma, y no pudimos implementar el sitio dos veces en la misma máquina. Esto estableció el tono para la implementación en todos los proyectos posteriores.
Ahora estoy evaluando nuestros métodos de implementación y estoy analizando específicamente las herramientas de implementación integradas; específicamente, estoy viendo tareas de instalación personalizadas y utilizando la mayor parte de la funcionalidad de instalador estándar que puedo (principalmente la interfaz de usuario).
En segundo lugar, estoy considerando la fusión de implementaciones y actualizaciones automáticas.
¿Cómo se hace para implementar software en su organización? ¿Qué herramientas utiliza y con qué problemas se encuentra con más frecuencia?
1) Construir proyecto con MSBUILD
2) Archivos FTP al entorno de producción.
3) Copiar / Pegar manualmente a cada servidor web
Para los sitios de intranet, usamos CruiseControl junto con SVN para reconstruir el sitio automáticamente.
Teóricamente, podría extender este modelo a través de una VPN si pudiera asignar una unidad de forma remota a la intranet de un cliente. O una solución más rápida y sucia podría ser usar una herramienta como SyncBack para sincronizar la carpeta remota que contiene las DLL compiladas para el sitio.
Tenemos servidores dedicados DEV, TEST, STAGE y PRODUCTION.
También tenemos una máquina dedicada a la construcción que ejecuta el control de crucero.
Cruise Control está configurado para una compilación de integración continua, que se ejecuta después de que se ingresa el código. También está configurado para tareas de desarrollo, control de calidad, etapa y producción independientes.
Para implementarse en el desarrollo, el código se recupera primero de SVN y se crea, luego la carpeta "Web precompilada" se copia al sitio web de desarrollo y el proyecto del servicio web se copia al servidor de aplicaciones de desarrollo. Cruise Control también está configurado para "etiquetar" el código fuente antes de que comience la compilación, de modo que podamos reproducir la compilación más adelante, o derivar de la etiqueta si necesitamos hacer una corrección.
Para implementar en QA, los archivos se copian de las máquinas de desarrollo a las máquinas de QA.
Del mismo modo, para implementar en Stage, los archivos se copian de las máquinas de control de calidad a las máquinas de Stage.
Finalmente, para implementarlo en producción, los archivos se copian de nuevo desde las máquinas del escenario a las máquinas de producción.
Para configurar cada entorno, tenemos una herramienta personalizada que forma parte de la tarea de Control de crucero de cada entorno que modifica las cadenas de conexión, "debug = true | false", "customErrors = Off | RemoteOnly", y otras configuraciones específicas del entorno.
Por lo tanto, cada entorno se puede implementar presionando un botón desde el panel de control de Cruise Control.
Una advertencia es que actualmente tenemos la contraseña de la base de datos de producción configurada en el archivo de configuración de Cruise Control ... ¡sería bueno moverla a otro lugar!
Por último, permítame agregar que, aunque nuestras máquinas de producción están en un centro de alojamiento dedicado, los servidores son accesibles desde nuestra máquina de Control de Cruceros, lo que hace que sea muy fácil realizar una implementación de producción. El único paso manual es cifrar los archivos web.config y eliminar el archivo "AppOffline.html" que contiene el Control de crucero.
Déjeme saber si esto ayuda, o si tiene alguna pregunta.
¡Gracias!
Un par de cosas que he hecho son las siguientes:
1) Utilice un proyecto de implementación web para compilar y limpiar la compilación, así como para administrar el reemplazo de la sección web.config si la configuración cambia entre los entornos. 2) Utilice NAnt para realizar todo el proceso de creación, archivo y copia de forma repetitiva.
El Proyecto de implementación web termina creando un archivo de MSBuild que puede usarse en lugar de NAnt; sin embargo, provenía de un entorno Java y usaba Ant todo el tiempo, por lo que NAnt es mi preferencia en .Net. Si agrega las tareas NAnt Contrib, podrá implementar no solo los archivos, sino también manejar elementos como su control de origen (en caso de que no sea parte de las tareas predeterminadas) y la Ejecución de scripts Sql para los cambios.
Actualmente utilizo ambas opciones juntas. Tengo mi archivo de compilación NAnt llamado el Proyecto de Implementación Web a través de MSBuild. Con la configuración del administrador de configuración para cada entorno, me permite administrar los reemplazos de la sección web.config automáticamente y tener un control bastante decente sobre mi copia y archivo de una versión.
Espero que esto ayude.
Utilizamos proyectos de implementación web y los proyectos de VS 2008 para crear un .msi a partir de la salida de la implementación web y otros proyectos. Una aplicación normal de Windows llamada "configuración" se usa para realizar gran parte de la creación de bases de datos y las cosas preliminares, en lugar de intentar personalizar los proyectos de configuración con pasos personalizados. Es mucho más fácil hacerlo usted mismo que intentar personalizar el código de MS. Esta aplicación de Windows luego llama a los archivos .msi correctos que el usuario necesita.
La creación de Team Foundation se ejecuta todas las noches para reconstruir la solución y copiar todo en un directorio de ''Lanzamiento de CD'' al que cualquiera puede acceder y realizar pruebas en el último ''lanzamiento''. Para ser honesto, la compilación TFS es un poco exagerada para un equipo pequeño como el nuestro, y solo lo uso porque es a lo que estoy acostumbrado.
En una empresa anterior utilizamos este http://www.finalbuilder.com/ y puedo recomendarlo para que sea fácil de usar y por la cantidad de software compatible.
Implementar aplicaciones web utilizando la herramienta web Copiar
Texto de Microsoft Training Kit Book Desarrollo basado en la web
Los proyectos de instalación web son útiles si está proporcionando una aplicación web a muchos usuarios (por ejemplo, permitiendo que las personas descarguen la aplicación desde la web e la instalen). Si es responsable de actualizar un sitio web específico para su organización, no es práctico iniciar sesión en el servidor web e instalar un paquete de Windows Installer cada vez que realice una actualización. Para las aplicaciones internas, puede editar la aplicación web directamente en el servidor web. Sin embargo, los cambios que realice se implementan inmediatamente en su aplicación web de producción, y esto incluye cualquier error que pueda estar allí. Para poder probar una aplicación web, puede editar una copia local de la aplicación web en su computadora y publicar los cambios en el servidor web de producción utilizando la herramienta Copiar web. También puede usar la herramienta Copiar Web para publicar cambios desde un servidor de ensayo a un servidor Web de producción, o entre dos servidores Web. La herramienta Copiar web puede copiar archivos individuales o un sitio web completo desde o hacia un sitio web de origen y un sitio web remoto. También puede elegir sincronizar archivos, lo que implica copiar solo los archivos modificados y detectar posibles conflictos de versiones en los que el mismo archivo, tanto en el sitio de origen como en el remoto, se haya editado por separado. La herramienta Copiar Web no puede combinar cambios dentro de un solo archivo; Solo se pueden copiar archivos completos.