Reputation: 9153
I have two build definitions for my project which has two branches. Development and Live.
I have set up manual build for development branch and this is running just fine. Now I wanted to set up gated check in for live branch, that is triggered only when developers are committing into live branch. this is mapped to root of the project not only a specific branch and after i take map the project for build.
However my set up is triggered everytime when developers are committing into development branch too.
Is there anything what i am doing wrong?
My project layout:
$/KCTC/Lib/ (Contains all referenced dlls)
$/KCTC/Projects/ (contains branches)
$/KCTC/Projects/Development
$/KCTC/Projects/Live
How ever the branch does not see Lib referenced files:
Considered "........\Lib\fluentnhibernate-NH3.1-1.2\Iesi.Collections.dll", but it didn't exist.
Setup of my live gated build: Also i have unit test created in NUnit in project and this is failing because
Queries\StarMetrics\20110613\StageTestSuite.cs (2): The type or namespace name 'NUnit' could not be found (are you missing a using directive or an assembly reference?)
workspace definition:
and my process defition
Upvotes: 2
Views: 2001
Reputation: 9153
Ok and solutions is:
I have went and added every item i needed for gated check in by hand. Where i can specify version control path to custom assemblies.
NOTE if you have multiple dlls with the same name, you will get error in tfs (this will not affect the build but its error)
Or the alternative is add the dlls requited for project into build resources.
Upvotes: 1
Reputation: 822
Looking at your workspace definition screenshot, it appears you're breaking the relative paths on the build server by including "\Moose" in your build agent folder.
You want:
$/KCTC/Lib | $(SourceDir)\Lib
$/KCTC/Projects/Live | $(SourceDir)\Projects\Live
Upvotes: 1
Reputation: 4458
Gated Check-ins will be triggered for any attempted check in of a source control item that is present under any entry for your workspace mapping defined for the build definition. In your case, you have
$/KCTC/Projects/ (contains branches) <-- remove this
$/KCTC/Projects/Development <-- remove this as well
$/KCTC/Projects/Live <-- this should contain everything you need for the Live branch correct?
Which basically says, "perform gated checkins for anything contained under this folder"... Youll need to remove the indicated line to ensure you don`t fire gated check-ins when checking in code from the development branch or the parent folder containing all branches.
As for your missing Lib binaries, Id bet the relative path is just slightly different. I`d check physically on the build machine to confirm.
Upvotes: 3