CruiseControl.NET posterior a la generación de acciones
-
02-07-2019 - |
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?
Solución
Usted tiene que usar NAnt para ese tipo de cosas.Aquí está el La tarea de Referencia de Nant..
Otros consejos
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.