It's all about the answers!

Ask a question

Starting a build based on subversion check-ins


Thomas Tardy (3143) | asked Apr 25 '08, 9:12 a.m.
Hello,

we have our projects in a subversion repository. To implement real CI we would like to start our builds based on check-ins done in the svn repository. Is is possible? And if yes, where can I find the documentation?

Regards,
Thomas

6 answers



permanent link
Jean-Michel Lemieux (2.5k11) | answered Apr 25 '08, 1:41 p.m.
JAZZ DEVELOPER
This should be easy. Just use one of the existing Subversion Ant tasks to fetch the code or use script to build and call to the command line.

We don't have an example of Subversion, but if you use the JUnit Example project releng/build.xml file as an example (eg, create the JUnit example from the Team Concert client by running the File > Examples... > Jazz Junit Example Project action).

Replace the fetch and Jazz Source Control task with an Ant task to fetch from SVN.

Jean-Michel Lemieux
Jazz Source Control Team

permanent link
Thomas Tardy (3143) | answered Apr 25 '08, 1:58 p.m.
Hi Jean-Michel,

which subversion ant tasks are you talking about? At the moment, I'm checking out the project files using subversion, but with the exec command?

Thanks for your support!

Regards,
Thomas

permanent link
Thomas Tardy (3143) | answered Apr 25 '08, 7:33 p.m.
Hi Jean-Michel,

I have found the svn ant tasks, but how do you use them do find modifications? Atm I'm evaluate the revision number, make an update and evaluate the revision number again. The problem is, my build makes a tag, if it's successful. The creation of the tag updates the revision number as well. Therefore it's never the same revision number.

Is there a possibility use something like
svn status -u
?

Thanks for your help!

Regards,
Thomas

permanent link
Thomas Tardy (3143) | answered Apr 26 '08, 8:42 a.m.
I have had a look at the svnant taks but I haven't found a solution to check the subversion repository for changes. At the moment I'm using the solution by calling
svn status -u
with ant exec command and parse the output.

Any better solution? I'm looking for something more like cruisecontrol modificationset svn.

Thanks for your help!

Regards,
Thomas

permanent link
Thomas Tardy (3143) | answered Apr 26 '08, 8:50 a.m.
If I'm trying to create the Jazz Junit Example Project, I get an InvocationTargetException with no more information about the error.

permanent link
Don Weinand (7851) | answered Apr 27 '08, 11:03 a.m.
JAZZ DEVELOPER
I don't think it's necessarily that simple JM. You may get a lot of
unwanted scheduled builds doing this. The build engine controls through the
Jazz SCM pre-build participant if a scheduled build should actually occur or
not based on if there are any actual changes. I assume the same would be
desired for SVN. I think what would be needed to make this work well would
be a SVN pre-build participant using our extension point that at least
checked for changes and returned false from the shouldBuild method if there
are none. It could then optionally be ambitious enough to also fetch the
code for it like our Jazz SCM pre-build partitipant or just do it in the
build script using the SVN ant tasks. Ideally an editor page would also be
contributed to the build defintion for configuring the SVN pre-build
participant like we do for all the other pre and post build participants.

Don Weinand
Jazz Team Build

"jlemieux" <Jean> wrote in
message news:fut5gd$80h$1@localhost.localdomain...
This should be easy. Just use one of the existing Subversion Ant tasks
to fetch the code or use script to build and call to the command
line.

We don't have an example of Subversion, but if you use the JUnit
Example project releng/build.xml file as an example (eg, create the
JUnit example from the Team Concert client by running the File
Examples... > Jazz Junit Example Project action).

Replace the fetch and Jazz Source Control task with an Ant task to
fetch from SVN.

Jean-Michel Lemieux
Jazz Source Control Team

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.