Post-delivery fails with newer snapshot
The RTC Post-delivery is working as expected, but I am hoping to get a work around to the problem below:
We currently have an environment where we run an integration level build on each of the components in the integration stream. If the build is successful we post deliver to the release stream.
In some instances we get the following message from the post delivery step:
The failure is caused by the build sequence:
- Build Component A start, Snapshot is produced
- Build Component B start, Snapshot is produced
- Build Component B - finished successfully, Snapshot delivered to the release stream
- Build Component A - finished successfully, The post delivery function determines that a new snapshot exists in the release stream.
The behavior in general is what would be expected. However, in my case since the snapshots contain only the component which was being built, I would like the post delivery function to deliver based on baseline contained in the snapshot compared against the content of the stream's baselines.
Or, is there some other way, which the snapshot/baselines can be delivered to the release stream on a successful build?
Thanks
Frank
We currently have an environment where we run an integration level build on each of the components in the integration stream. If the build is successful we post deliver to the release stream.
In some instances we get the following message from the post delivery step:
2012-04-26 23:45:38 [Jazz build engine] Invoking post-build participant "com.ibm.team.build.autoDeliver"
2012-04-26 23:45:42 [Jazz build engine] Aborting post-build deliver. It was determined that build "8000-Integration ComponentB 20120426-2307" has already updated the deliver target with a more recent snapshot than this build's.
The failure is caused by the build sequence:
- Build Component A start, Snapshot is produced
- Build Component B start, Snapshot is produced
- Build Component B - finished successfully, Snapshot delivered to the release stream
- Build Component A - finished successfully, The post delivery function determines that a new snapshot exists in the release stream.
The behavior in general is what would be expected. However, in my case since the snapshots contain only the component which was being built, I would like the post delivery function to deliver based on baseline contained in the snapshot compared against the content of the stream's baselines.
Or, is there some other way, which the snapshot/baselines can be delivered to the release stream on a successful build?
Thanks
Frank
Accepted answer
Hi Frank,
This wasn't the original intended use case of the Post-build Deliver Build Definition, however I opened up the following work item to see what I can do with your scenario:
https://jazz.net/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/210689
Feel free to add comments/feedback to that work item in the future.
This wasn't the original intended use case of the Post-build Deliver Build Definition, however I opened up the following work item to see what I can do with your scenario:
https://jazz.net/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/210689
Feel free to add comments/feedback to that work item in the future.
2 other answers
We currently have an environment where we run an integration level build on each of the components in the integration stream. If the build is successful we post deliver to the release stream.
Thanks
Frank
Can I get clarification on your scenario.
Do you have both of the following running:
1. "BuildDefinitionA" accepting from "RepositoryWorkspaceA" and Delivering ONLY "ComponentA" to "StreamA"
2. "BuildDefinitionB" accepting from "RepositoryWorkspaceA" and Delivering ONLY "ComponentB" to "StreamA"
Ie. Multiple Build Definitions running concurrently and accepting from the same repository workspace and performing an auto-deliver to the same target?
Do you have both of the following running:
1. "BuildDefinitionA" accepting from "RepositoryWorkspaceA" and Delivering ONLY "ComponentA" to "StreamA"
2. "BuildDefinitionB" accepting from "RepositoryWorkspaceA" and Delivering ONLY "ComponentB" to "StreamA"
1. "BuildDefinitionA" accepting from "RepositoryWorkspaceA" and Delivering ONLY "ComponentA" to "StreamA"
2. "BuildDefinitionB" accepting from "RepositoryWorkspaceB" and Delivering ONLY "ComponentB" to "StreamA"
The workspaces are different for the build, but the build defs post deliver to the same stream.