It's all about the answers!

Ask a question

Unable to view baselines/snapshot created through Automated builds


Ashok Patil (1111) | asked Dec 30 '15, 12:44 p.m.
edited Jun 29 '16, 9:37 p.m. by David Lafreniere (4.8k7)
We are using Change and Configuration Management (CLM, for RTC) version 6.0 along with Jenkins version -1.609.1 as a build system.

In RTC, We have created automated builds which builds the code on the target stream. Automated build is creating the snapshot/baseline on the stream/component which is accessible through RTC as well as through Jenkins.
When i look into the Source Control -> Components -> component_A -> Show -> Baselines, I can see the list of snapshots created by automated builds along with manually created baselines.

But when i look into  Source Control -> Stream_A -> component_A -> Show -> Baselines, for same component, it shows only manually created baselines and not the baselines created through automated build. Same thing happen when i check into local repository workspace (Created from "Stream_A") -> component_A -> Show -> Baselines.

Is any process configuration change required to fix this?

The reason to ask for this is when i accept the changes from "Stream_A" into my local repository workspace and when change the flow target to integration stream, i couldnt get latest snapshot/baseline created through automated build as outgoing. and so i couldnt deliver it. This is required as "deliver change sets" option is disabled for Integration stream, so i need to deliver as baseline only.

 
Can someone please guide on what configuration is missing?

Thanks.

One answer



permanent link
Geoffrey Clemm (30.1k33035) | answered Dec 30 '15, 3:20 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
I am guessing that your Jenkins build is creating those snapshots/baselines on the repository workspace being used by the Jenkins build, rather than on the stream.  If so, those baselines will not appear in the stream until you deliver those baselines from that repository workspace to that stream.   One alternative is to use the "replace" operation on your repository workspace to select the snapshot that you want to deliver to the integration stream (rather than an "accept" operation from Stream_A).

Comments
Ashok Patil commented Dec 31 '15, 10:59 a.m.

 Thanks Geoffrey. 


Yes, Jenkins job is creating those snapshots/baselines on the build repository workspace associated with RTC build definition which triggers the Jenkins job. 

I tried with the alternative solution you gave and it worked. Thanks, but if 
i have changes in all "n" components in Stream_A, then i will have to manually replace the snapshot by going to each component individually which will be a pain for frequent transfers to Integration stream. 

Is there any way by which it can be automated as part of the build where those baselines will be delivered to the streams as well?


Geoffrey Clemm commented Dec 31 '15, 1:29 p.m. | edited Dec 31 '15, 1:30 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

WRT the replace operation, in the Pending Changes view, right clicking on a workspace will give you a Replace option that lets you replace all components in the workspace in one operation (it will also add/remove components as required to match the snapshot).

WRT automating the baseline deliver operation as part of the build, the main problem with that occurs if someone delivers change sets to the stream while the build is in progress ... you can end up with conflicts that will block the deliver, and then users can get confused about why the baselines aren't in the stream.  One way to avoid this problem would be to create the snapshot on the stream in the first place, and then set the build workspace to be that snapshot ... but this has the disadvantage that all baselines show up in the stream, even those for builds that have failed.   Another way to avoid this problem would be to have a "successful build stream", which is only updated by the build when the build succeeds (avoiding the "changes delivered while the build is in progress" problem).   You would use a "replace" to update the successful-build-stream with the content of the successful build snapshot (thus allowing you to "roll back" change sets, which is not something the "deliver" operation would allow).

Your answer


Register or to post your answer.