Question

Nous avons installé CC.NET sur notre application ASP.NET. Lorsque nous générons le projet, l'application ASP.NET est précompilée et copiée sur un partage réseau à partir duquel un serveur exécute l'application.

Le serveur est un peu différent des boîtiers de développement et le serveur suivant dans notre environnement de transfert diffère encore plus. La différence réside dans des fichiers de configuration spécifiques, etc. - je souhaite donc exclure certains fichiers - ou les supprimer avant que l'application précompilée ne soit copiée sur un partage réseau.

Mon fichier de configuration ressemble à ceci:

    <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>

Comme vous pouvez le constater, j'utilise un buildPublisher pour copier les fichiers précompilés sur le partage réseau. Ce que je veux faire ici, c’est soit 1) supprimer certains fichiers avant qu’ils ne soient copiés, soit 2) remplacer ces fichiers une fois qu’ils ont été copiés.

JE NE VEUX PAS qu'une application exécute la surveillance de fichiers spécifiques, puis remplace les fichiers par d'autres fichiers. Je veux que quelque chose soit fait par CC.NET ou déclenché par CC.NET.

Pouvez-vous lancer un fichier .bat avec CC.NET?

Était-ce utile?

La solution

Vous devez utiliser NAnt pour ce genre de choses. Voici la Référence de tâche de Nant ..

Autres conseils

J'utilise un NAnt tâche pour toute publication, déploiement, nettoyage, etc.

Consultez MSDEPLOY ou Projets de déploiement Web . Il y a une question qui fournira plus de détails ici

.

Bien sûr, CruiseControl.NET peut exécuter un fichier de commandes, utilisez simplement la tâche d’exécution. Cependant, une solution plus simple pourrait simplement consister à laisser MSBuild se charger de la tâche à votre place. Il devrait être simple d’ajouter quelques étapes à la cible post-compilation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top