Pergunta

Nós temos a configuração CC.NET em nosso aplicativo ASP.NET. Quando construímos o projeto, o aplicativo ASP.NET é pré-compilado e copiado para um compartilhamento de rede, a partir do qual um servidor executa o aplicativo.

O servidor é um pouco diferente de box'es de desenvolvimento, e o próximo servidor em nossas difere ambiente de teste ainda mais. A diferença é arquivos de configuração específicas e assim por diante - assim que eu quero excluir alguns arquivos -. Ou eliminá-los antes que o aplicativo pré-compilado é copiado para um compartilhamento de rede

As minhas configuração olhares de arquivo como este:

    <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 você pode ver, eu uso um buildPublisher para copiar os arquivos pré-compilados para o compartilhamento de rede. O que eu quero fazer aqui, é, 1) excluir determinados arquivos antes de serem copiados ou 2) substituir esses arquivos depois que eles foram copiados.

Eu não quero ter algum aplicativo em execução assistindo arquivos específicos para a mudança, e depois que substituir os arquivos com outros. Eu quero algo a ser feito através da CC.NET, ou desencadeada por CC.NET.

Você pode iniciar um arquivo .bat com CC.NET?

Foi útil?

Solução

Você tem que usar NAnt para esse tipo de coisa. Aqui está a Tarefa Referência de Nant ..

Outras dicas

Eu uso um NAnt tarefa de todos publicação, implantação, limpeza e assim por diante.

Dê uma olhada em MSDeploy ou Projetos de implantação da web . Há uma questão que irá fornecer mais detalhes aqui

É claro CruiseControl.NET pode executar um arquivo de lote, basta usar a tarefa exec. No entanto, uma resposta mais fácil pode ser apenas para ter MSBuild fazer a tarefa para você. Deve ser simples de adicionar algumas etapas no alvo postcompile.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top