How to build by work item status?
We're trying to implement a fully automated build and deploy process.
We want a periodic build which will only accept any incoming changes, if their work item status is for ex. "Waiting for UAT deployment".
I thought about implementing this as an ANT task, but this would probably screw up the traceability of the "changes included in build" which probably are set by the time the build starts. My questions are:
1. would it be possible for me to add changes/work item to the build page manually? I guess this is related to the automatic build snapshot then?
2. should I instead implement this as a build participant like in this post?
Any comments are very welcome :)
/Morten
We want a periodic build which will only accept any incoming changes, if their work item status is for ex. "Waiting for UAT deployment".
I thought about implementing this as an ANT task, but this would probably screw up the traceability of the "changes included in build" which probably are set by the time the build starts. My questions are:
1. would it be possible for me to add changes/work item to the build page manually? I guess this is related to the automatic build snapshot then?
2. should I instead implement this as a build participant like in this post?
Any comments are very welcome :)
/Morten
Accepted answer
Hi Morten,
It seems to me you should create a stream and build for this purpose instead, and only deliver those change sets that match your criteria (i.e. work item status is for ex. "Waiting for UAT deployment").
There are potentially problems with what you're proposing. What do you do with change sets that don't match this criteria? What if there are change set dependencies that introduce gaps? In this case, your build wouldn't be able to accept them. Also, to reproduce a problem in your build, a developer would need to create a repository workspace off of the build workspace instead of a stream.
What if your stream was called "Waiting for UAT deployment" (or something like that). Only deliver the appropriate change sets.
Scott
It seems to me you should create a stream and build for this purpose instead, and only deliver those change sets that match your criteria (i.e. work item status is for ex. "Waiting for UAT deployment").
There are potentially problems with what you're proposing. What do you do with change sets that don't match this criteria? What if there are change set dependencies that introduce gaps? In this case, your build wouldn't be able to accept them. Also, to reproduce a problem in your build, a developer would need to create a repository workspace off of the build workspace instead of a stream.
What if your stream was called "Waiting for UAT deployment" (or something like that). Only deliver the appropriate change sets.
Scott