It's all about the answers!

Ask a question

RTC Jenkins - Load & Build Options only for changed components.


Raj Kumar (21216) | asked May 20 '19, 6:26 a.m.

I have a query relating to Jenkins loading : Let’s assume build has already happened for one of the repository workspace. Now the developer will make a change in specific component and give a build again.

 
I am specifically looking for a mechanism where only the changed components are detected (from e.g. repository workspace) and built,  instead of loading & building all components.

Thanks in advance.


Comments
Sridevi Sangaiah commented May 31 '19, 4:51 a.m.
JAZZ DEVELOPER

In the Jazz Source Control configuration of your build definition, is the " <label class="deleteDirLabel" for="deleteDirCheckbox"> Delete the directory before loading </label> " option is checked?


Raj Kumar commented Jul 15 '19, 3:26 a.m.
yes, it was checked @Sridevi Sangaiah
 as per my understanding this option is for delete everything before loading, again it will load all components but i want instead of loading & building all components in Jenkins , only the only the changed components are detected and build

Sridevi Sangaiah commented Jul 15 '19, 6:20 a.m.
JAZZ DEVELOPER

Right, "Delete the directory before loading" option deletes everything before loading. Is it that you want to reduce the time taken for a build, by loading and building only changed components?


Raj Kumar commented Jul 16 '19, 1:01 a.m.
As of now the idea is to reduce the time taken for a build by loading and building only changed components.
Do you have idea how to do that? or is there any thing available already and i am not aware of it.

One answer



permanent link
Sridevi Sangaiah (59179) | answered Jul 16 '19, 5:04 a.m.
JAZZ DEVELOPER

There are two parts to your query:

1. A mechanism to load only a subset of components
2. A mechanism to build only a subset of components

For #1 you could uncheck the "Delete the directory before loading" option to prevent a full load. In this case a reload would happen for those files which has changed either locally or in the remote workspace. Reload could also take some time, depending on the number of components in the workspace and their size, as we have to go through the contents of all the loaded components to do some checks in order to determine what has changed both locally as well as in the remote repository workspace.

For #2 EWM(RTC) can provide the list of changes that went into the build. It is on the build scripts to use this detail and do a selective build. To determine the changes accepted in a build you could use the generateChangeLog ant task - https://jazz.net/help-dev/clm/index.jsp?topic=%2Fcom.ibm.team.build.doc%2Ftopics%2Fr_generatechangelog.html.


Comments
Raj Kumar commented Sep 18 '19, 5:24 a.m.

As per your point #2 , I can see the change option under Jenkins Job build. it will give you the changes which was done on the component related to last build, but its building whole workspace(all the component) not only changed component.
Can you explain if i want to build only that component which got changed under the repository workspace. How RTC will handover the changed component to Jenkins for building?

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.