Pregunta

Tenemos CC.NET el programa de instalación en nuestro ASP.NET app.Cuando construimos el proyecto, la ASP.NET aplicación de pre-compilados y copiado a un recurso compartido de red, de la que un servidor que ejecuta la aplicación.

El servidor es un poco diferente de desarrollo cuadro es, y el siguiente servidor en nuestro entorno de ensayo se diferencia aún más.La diferencia es específica de los ficheros de configuración y, entonces, lo que quiero excluir algunos archivos o eliminarlos antes de la pre-compilados de la aplicación es copiado a un recurso compartido de red.

Mi archivo de configuración se parece a esto:

    <project name="Assembly.Web.project">
    <triggers>
        <intervalTrigger seconds="3600" />
    </triggers>
    <sourcecontrol type="svn">
        <trunkUrl>svn://svn-server/MyApp/Web/Trunk</trunkUrl>
        <workingDirectory>C:\build-server\Assembly\Web\TEST-HL</workingDirectory>
    <executable>C:\Program Files (x86)\SVN 1.5 bin\svn.exe</executable>
    <username>uid</username>
    <password>pwd</password>
    </sourcecontrol>
    <tasks>
        <msbuild>
          <executable>C:\Windows\Microsoft.NET\Framework64\v3.5\MSBuild.exe</executable>
          <workingDirectory>C:\build-server\Assembly\Web\TEST-HL</workingDirectory>
          <projectFile>C:\build-server\Assembly\Web\TEST-HL\Web\Web.sln</projectFile>
          <buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs>
          <targets>Build</targets>
          <timeout>900</timeout>
          <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
        </msbuild>
    </tasks>
    <publishers>
        <buildpublisher>
             <sourceDir>C:\build-server\Assembly\Web\PrecompiledWeb</sourceDir>
             <publishDir>\\test-web01\Web</publishDir>
             <useLabelSubDirectory>false</useLabelSubDirectory>
             <alwaysPublish>false</alwaysPublish>
        </buildpublisher>           
    </publishers>
</project>

Como usted puede ver, yo uso un buildPublisher para copiar el pre-compilado de archivos en el recurso compartido de red.Lo que yo quiero hacer aquí, es 1) borrar ciertos archivos antes de que se copian o 2) reemplazar los archivos después de que se han copiado.

NO quiero tener alguna aplicación en ejecución viendo los archivos específicos para cambiar y, a continuación, después de que reemplazar los archivos con otros.Quiero algo que se hace por CC.NET o provocada por CC.NET.

Se puede lanzar un .archivo bat con CC.NET?

¿Fue útil?

Solución

Usted tiene que usar NAnt para ese tipo de cosas.Aquí está el La tarea de Referencia de Nant..

Otros consejos

Yo uso un NAnt tarea para todos los de la publicación, la implementación, la limpieza y así sucesivamente.

Echa un vistazo a MSDEPLOY o En La Web De Proyectos De Implementación.Hay una pregunta que se le proporcionan más detalles aquí

Por supuesto CruiseControl.NET se puede ejecutar un archivo por lotes, simplemente utilice la tarea exec.Sin embargo, una respuesta más sencilla podría ser la de MSBuild hacer la tarea para usted.Debe ser simple para agregar un par de pasos en la postcompile de destino.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top