It's all about the answers!

Ask a question

Multiple stream build


Tullio Tancredi (2144) | asked Jul 10 '08, 12:34 p.m.
Hi all,
is it possible to have a build of multiple streams? Some like an integration build?

I need this in order to handle common component shared between more stream.

For example, I defined following streams with related components:

stream_common: common_component
stream_a: component_a
stream_b: component_b

In order to be built, both stream_a and stream_b require common_component source code.
What I was thinking is to define the following three build definitions:

build_stream_common: it only downloads stream_common code

build_stream_a: download stream_a code + copy stream_common code just downloaded by build_stream_common and launch build

build_stream_b: download stream_b code + copy stream_common code just downloaded by build_stream_common and launch build

The problem is that, in this way, in the stream_a and stream_b build summary panel I am no more able to see all changes related to the common_component that have been included in the build just run.

I saw that Jazz development project has weekly integration builds, are they multiple streams build?

Thanks in advance for your help.
Ciao,
Tullio

3 answers



permanent link
Martha (Ruby) Andrews (3.0k44251) | answered Jul 10 '08, 4:05 p.m.
JAZZ DEVELOPER
You should set up a separate Repository Workspace for each build you want to run. In each Repository Workspace, include only the components you want built. It is ok to have components from multiple streams in the same Repository Workspace. If you use the built-in support for Jazz SCM, the build will get all of the change sets.

For example, to set up a build for component_a you would:
1. Create a new Repository Workspace "build_ws_a" from stream_a. Add the component common_component. (You can add components in the Workspace Editor).
2. Create a build definition that uses the Jazz SCM support. Specify build_ws_a as the Repository Workspace for the build.


Martha
Jazz Team Build Component

permanent link
Martha (Ruby) Andrews (3.0k44251) | answered Jul 10 '08, 5:38 p.m.
JAZZ DEVELOPER
Sorry, I misspoke in my last reply. You want to set the Flow Target for the Repository Workspaces, not add components.

So, the steps for setting up a build for component_a are:
1. Create a new Repository Workspace "build_ws_a" from stream_a. Add stream_common as a Flow Target. (You can add Flow Targets in the Workspace Editor).
2. Create a build definition that uses the Jazz SCM support. Specify build_ws_a as the Repository Workspace for the build.

permanent link
Tullio Tancredi (2144) | answered Jul 16 '08, 7:36 a.m.
Hi all,
I would like to share with all of you the following e-mail from Martha. She answered to a my e-mail where I was asking the following question:

"...
If I well understood, the repository workspaces are a copy of personal workspace that each user creates on the server. These "personal" repository workspaces can be updated with changes delivered by users only if the owner of the repository explicitly accept the changes. They are different from streams which, if I well understood, are the production version of the product (they are always explicitly updated when a deliver is done). My question is the following one:

How is it possible to build from a "repository workspace" and be sure that the build (scheduled) will always build the latest version of the "production" code (will take in considerations all delivers that have been done on the related stream)?
..."

Martha's mail:

Hi Tullio,

If you are using the built-in support for Jazz Source Control on your build definition, the build will do an accept of any changes for the components. The repository workspace in this case is not a copy of a developer's workspace; it is a repository workspace dedicated to running builds. Any changes from streams that are flow targets will be automatically accepted into the repository workspace (if you enable Jazz Source Control on your build definition).

Here is how it would work:

1 Changes for common component are delivered to stream_common (manually, by a developer)
2 The build runs in build_ws_a
3 The build finds all changes in the components loaded in build_ws_a
4 The build updates build_ws_a with the changes
5 The build builds, tests, etc.

Steps 3 and 4 happen automatically if you enable Jazz SCM on your build definition. Step 5 is determined by what your build script or command does.

If this reply doesn't answer all of your questions, let's continue the conversation on the forum. I have a feeling it can benefit many.

Thanks,
Martha



I think this is a good info that could be useful to someone else.


Ciao,

Tullio

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.