This is a feature I'm using with TeamCity - I can specify that a certain build configuration is successful Another build configuration will begin.
I can also pass the results of building each other - but perhaps it is demanding too much.
I am looking for similar functionality in TFS2008, is there a way to set a trigger on a build configuration that will start after successfully launching it?
I use the following target in my TFSBuild.proj:
build Inject the new target in the process if we have been successfully created "drop", then we only depend:
& lt; Asset group & gt; & Lt; DropBuildDependsOn & gt; $ (DropBuildDependsOn); CreateDependentBuildItemGroup; TriggerDependentBuilds; & Lt; / DropBuildDependsOn & gt; & Lt; / PropertyGroup & gt;
A list of dependent groups in which an item is created, we want to make it (the included feature will be a list of name ) of dependent creation As it appears in the creation of Explorer - in my case, dependent construction is called "unity"). In our building process, we sometimes want to trigger more than one build, and the next build on the binaries we created by the current construction (which in this example, I want to run an integration test against the produced binaries) Want to point out. Note the hack to get blank space in the configuration names - for example "any CPU" will cause a problem in MsBuild args. Using this format, we can create custom MSW Algens per custom building.
& lt; Target name = "CreateDependentBuildItemGroup" & gt; & Lt; ItemGroup & gt; & Lt; Dependentbuild Include = "Unity" & gt; & Lt ;! - Use the 8dot3 format for "mixed platforms" because it is difficult (impossible?) In a space orbit in / msbuildarguments within tfsbuild - & gt; & Lt; MsBuildArgs & gt; / P: CallingBuildDropFolder = $ (DropLocation) \ $ (BuildNumber) \ Mixedp ~ 1 \ ship; CiSmallBuildNumber = $ (CiSmallBuildNumber); BuildNumberPostFix = $ (BuildNumberPostFix) & lt; / MsBuildArgs & gt; & Lt; PriorityArg & gt; / Priority: AboveNormal & lt; / PriorityArg & gt; & Lt; / DependentBuild & gt; & Lt; / ItemGroup & gt; & Lt; / Target & gt;
Now, trigger the build. Note that we use custom guestups: We want to make sure that it depends on the use of the same type of changes, which uses the existing construction - we can not use the latest, so somebody It may be checked in - so we want all our dependent "chains" based on all the same changes. The actual order is within Exec, and the BuildStep stuff is to ensure that we report the success of Exec (or failure).
& lt; Target Name = "Trigger Dependent Build" condition = "'$ (compilationstats)' == 'successful' '& gt; BuildStep TeamFoundationServerUrl =" $ (TeamFoundationServerUrl) "BuildUri =" $ (BuildUri) "name =" trigger phase "Message =" Dependent Build Trigger "& gt; Output Task Parameters =" ID "Property Name =" Trigger Phase "/> & lt; / BuildStep & gt; & lt; PropertyGroup & gt; & lt; TriggerBuildCommandBase & gt; TfsBuild Start $ (Team Foundation Server) $ (TeamProject) & lt; / TriggerBuildCommandBase & gt; & lt; / PropertyGroup & gt; Exec ContinueOnError = "true" Working Directory = "C: \ Program Files (X86) \ Microsoft Visual Studio 9.0 \ Common 7 \ IDE "Command =" $ (Triggered Commandbased)% (DistinguishedBild.IDent) / Queue / Getupation: Custom / CustomGuidance: $ (Gestivsion)% (DependentBuilt.preview.org) / MMSBildgrogs: &.; Output Task Parameters = "Exit" item name = "TfsBuildResult" /> & Lt; BuildStep Condition = "'@ (TfsBuildResult)'! = '0'" Team Foundation ServerUrl = "$ (TeamFoundationSureRUr)" BuildURI = "$ (Builder)" id = "$ (trigger phase)" status = "unsuccessful" /> & Lt; / Target & gt;
I hope this helps ...
Comments
Post a Comment