Linked builds and committing code back into svn

Bernard O'Flynn August 11, 2011

We have a build of a set of components that are shared across projects. So we have a build plan for them.

We want to be able to build them, and then build all dependent projects. However building the dependent projects requires us to get the latest version of the assemblies, copy them into a 3rdParty folder under our source code tree, build the source, run our tests and then deploy it out to our web server. We would then run more Selenium tests and if that all goes fine, we'd like to check the compiled assemblies back into SVN for the dependent project.

How can we set up Bamboo to do this? We're using 3.2.

The only way I can think of is to create a shared folder called "Latest 3rdParty" and as part of the shared library build, copy the result of the build to that "Latest" folder. Then the build of the dependent projects takes them and copies them into the folder, does the build, etc.

The bit I'm missing is how to get Bamboo to commit things BACK into SVN. Its great at getting things out....

1 answer

1 accepted

0 votes
Answer accepted
ReneR
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
October 20, 2011

Bunch of ideas off the top of my head...

* Setup a shared folder somewhere. When the shared library build runs it "publishes" new "versions" of the shared components to this known location using some naming convention to distinguish this "release"

* The consuming build then always knows the path from which to download shared components for the build

* The library build commits a newly-built set of libraries into a known, relative folder inside the source tree for the build. Consuming build links to this path via an svn:external

* Built libraries get zipped up into an archive that is set as a shared artifact. Shared artifact is used, extracted in another stage in the same plan and used by the consuming build

* Use a dependency management build tool like maven or ivy

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events