Pregunta

Quiero usar CCNetRequestSource wich es el nombre de la puesta en marcha del gatillo wich la tarea MSBUILD. Para exemple cuando el gatillo "toto" se exected quiero lanzar el objetivo "toto" en MSBUILD. Es posible ? Es por una acumulación de todas las noches, quiero crear archivos MSI y doc en este momento, he creado el objetivo específico en MSBuild pero yo no encontré la forma de ejecutar sólo cuando un disparador específico es un tiro.

¿Fue útil?

Solución

Hay sintaxis msbuild que debe ayudar con esto. Echar un vistazo a los siguientes enlaces:

Usted debe tratar de añadir un fichero de construcción de fachada para CruiseControl para llamar a que delegar en sus archivos de solución con una construcción similar a la siguiente:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Choose>
            <!-- If the toto CCNETRequestSource was submitted -->
        <When Condition="'$(CCNetRequestSource)'=='toto'">
            <PropertyGroup>
                <Target Name="toto">
                    <MSBuild Projects="MyProject.sln" Properties="Configuration=Debug" Targets="toto" />
                </Target>
            </PropertyGroup> 
        </When>
            <Otherwise><!-- Place your standard build call here --></Otherwise>
    </Choose>
    </Target>
</Project>

Otros consejos

Me lo hacen así:

            <Project DefaultTargets="Integration" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
        <PropertyGroup>

            <Configuration Condition="'$(CCNetBuildCondition)' == 'ForceBuild'">Release</Configuration>
            <Configuration Condition="'$(CCNetBuildCondition)' != 'ForceBuild'">Debug</Configuration>
        </PropertyGroup>
      <Target Name="Integration" DependsOnTargets="ConstruireSolution;FaireDoc">
      </Target>
      <Target Name="ConstruireSolution" >
    <!-- with first build -->
<MSBuild Projects="MyBuild.sln" Properties="Configuration=$(Configuration)" Targets="Clean;Rebuild" />
    </Target>

    <Target Name="FaireDoc" Condition=" '$(CCNetRequestSource)' =='FaireDoc'">
    <!--Build to add when FaireDoc trigger is fired -->
<MSBuild Projects="C:\CI\Plateforme\Documentation\Doc.shfbproj" Targets="Build" />
      </Target>

Elijo esta solución porque yo siempre necesito la primera construcción :) el segundo objetivo es un proyecto de castillos de arena para el almuerzo sólo por la noche:)

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