Hey guys :)
We're using Adobe CQ as our CMS system, and have a lot of customizing (internal and external).
In order to make building and deploying easier, we'd like to use Bamboo for our Release Management (and it looks great so far :) ).
I've created a project containing 2 stages for test and production (each of it contains 2 tasks SVN checkout and Maven which builds & deploys the code).
We have to build & check out the code 3 times, because we have 3 servers to be deployed (Maven directly uploads the newly builded code to the CQ server). Is there a way to check the code out only once, and then just build it 3 times with maven?
One other thing which I'm not quite sure of how it works: Does Bamboo cache the version of the SVN from when it started. For example:
Imagine that I submitted changes to the code, and then executed the test stage in Bamboo (which builds the code and deploys it to the 3 servers). At this point I would start testing my changes in the browser. In the meanwhile, my colleague makes some changes at another part of the code, and starts a new test stage build. What happens when I successfully tested my changes and would now like to deploy it into production (using the production stage in Bamboo). Will the changes of my colleague also deploy to the production or can I be sure that only my changes will find their way to production?
I hope I could describe my problem as good as possible. If you have trouble understanding what I'm trying to say, please tell me, I'll try to formulate more clearly.
The answer to the second question is: of course! :-) Bamboo resolves the repository revision before the first stage and ensures that all Jobs build the same codebase.
As for organizing the stages: key question is: are binaries you deploy to each server different? In other words: do you really need to rebuild before each deployment?
If they are not, then I think the best strategy is to use artifact passing. So in the first stage you build all the binaries and save them as Bamboo Artifacts. In the next stages you subscribe to those Artifacts, which allows you skip the checkout and build, you just need to deploy.
If you build different binaries in different stages (i.e. using different compiler switches or sth. like that) then I'm afraid there's not much to gain. Bamboo enforces working directory separation for different Jobs, so you need to get the source into your working dir somehow. While you could create an artifact containing source package I don't think that earns you a lot compared to simply checking out. (unless your SVN server is slow to respond for some reason)
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.