2009-03-21 12 views

Respuesta

1

Usamos CC.NET & MSBuild para construir y luego también para publicar en nuestros entornos de desarrollo y escenario, sin embargo, no tenemos el impulso en vivo en CruiseControl.NET, ejecutamos ese MSBuild a mano. Pensamos que sería tentador con un botón publicar en vivo;) Probablemente tomaron 2 o 3 revisiones para configurar correctamente nuestro MSBuild. Pero ahora todo está en un archivo, y todo se basa en Objetivos y Propiedades para hacer todo el trabajo. Hace aproximadamente 6 meses, era lo que debería ser la última actualización y eso fue un impulso de varios servidores, así que estamos listos para ampliarlo. Ahora podemos enviar cualquier combinación de partes a cualquier combinación de servidores. Entonces, si queremos 5 servidores de bases de datos, 3 servidores contenet y 2 servidores web, tenemos esa capacidad. No es necesario usar nada más. MSBuild puede hacerlo.

+0

¿Está ejecutando CC.Net en su entorno de ensayo? – Ryu

+0

No está en él, pero se publica en el entorno de escenario mediante MSBuild. – Alex

+0

¿Acabas de publicar un sitio web o necesitas instalarlo o hacer algo más? – Ryu

3

Uso MsBuild para compilar, y parte del proceso de compilación ejecuta Wix para crear un instalador (MSI) que se utiliza para desplegar en producción.

0

Uso MSBuild para crear una aplicación cliente/servidor bastante grande. Utilizo InstallShield 2008 para crear un conjunto de instalación de cliente y servidor por separado.

Al agregar un objetivo personalizado en el proceso de compilación, puede combinar la creación de los instaladores en la compilación.

Le recomendaría que cree y pruebe la compilación y el instalador por separado, antes de intentar integrar los dos.

1

he creado un sistema de despliegue donde un coordinador central puede:

- identify the right target server for a given component (e.g Windows service goes to a given server, web services go to another, etc.) 
- perform a PsExec of a deployment MSBuild script on the target server 
- the deployment MSBuild script is responsible for: 
    a) downloading the right component package (in my case a .zip) 
    b) backing up previous versions of the component 
    c) extracting the package to the right place 
    d) tailoring the installation steps to the type of component to deploy (e.g. needs to perform an Exec task of installutil.exe on a Windows service) 
    e) logging the result of the deployment 

Este sistema está construido utilizando una combinación de:

- core MSBuild tasks 
- [Tigris MSBuild community tasks][1] 
- [MS SDC tasks][2] 
- and custom tasks 

El sistema nos permite realizar una implementación consistente de aplicaciones complejas en entornos particionados (por ejemplo, DEV, QA, UAT, etc.) hechos de servidores virtuales.

0

Sé que esto es una cuestión de edad ... pero ...

Actualmente estoy usando MSBuild con MSBuild Paquete de extensión (http://msbuildextensionpack.codeplex.com) para realizar toda mi implementación. La parte de la base de datos se maneja con la herramienta de línea de comandos de la base de datos VS (vsdbcmd.exe - http://msdn.microsoft.com/en-us/library/dd193283.aspx). Ese paquete de extensión es bastante sorprendente y me permite crear sitios web, grupos de aplicaciones, servicios de Windows, configuración de actualizaciones y mucho más.

También puse agentes de Team City en los servidores de prueba, así que puedo implementarlos como parte de una cadena de compilación (presentada en la versión 7 de Team City). Y ejecutar mi script de despliegue de MSBuild es muy fácil desde Team City.

0

Solía ​​usar MSBuild, ahora estoy usando PowerShell. MSBuild es un lenguaje de compilación. Es doloroso escribir el guión. Hay muchas cosas que quería hacer, difíciles y otras imposibles.

Durante el año pasado, he creado un módulo de PowerShell algo equivalente al paquete de extensión MSBuild llamado Carbon.

Recomiendo encarecidamente a todos que aprendan y utilicen PowerShell.

Cuestiones relacionadas