3

Here's the scenario:

Our source code is on Github.

We run Bamboo (2.7.3 currently) on a Linux server here at work.

We have several builds that are farmed out to remote agents (for example, to build iPhone software). On the remote agent, Bamboo clones the source from Github, does the build, and then uploads the artifacts to the server. This works exactly as we want/expect.

The problem is, the Bamboo server seems to be checking out the git repository, too, and it does this for every single build plan we have. It's taking up a significant percentage of disk space for these checkouts, and I don't see any way to disable them.

Any ideas?

4
  • I don't understand the problem... of course your build server needs to make a checkout in the git repo, otherwise it doesn't have the code to build. Is the problem that it's making multiple checkouts somehow, and you'd like to have it make only one? That might not work if it's building in-place.
    – womble
    Aug 23, 2011 at 22:13
  • No, the server can't do anything with iPhone software. The remote agent that runs on OS X can, and does, but right now, the server does a git clone and so does the remote agent. I want to stop the server from doing the git clone.
    – clee
    Aug 23, 2011 at 22:16
  • Have you already looked at: confluence.atlassian.com/display/BAMBOO/…
    – polynomial
    Aug 24, 2011 at 5:56
  • I have, yeah. That's good for deleting old build artifacts, but it doesn't solve the server-checking-out-new-working-copies-of-all-of-our-repositories problem.
    – clee
    Aug 24, 2011 at 22:10

2 Answers 2

2

If you don't need to run any jobs on the main Bamboo server, you can disable the default local agent. See the Bamboo documentation.

0

At the first run of a plan, Bamboo performs a full clone and stores the data in a local cache directory and complete the build. On subsequent builds, Bamboo does a git fetch from the remote repository to see if there are additional changes and if so, updates the local cache. Similar to the first run, the data for the plan is then checked out from the local cache. Hence, a faster checkout.

If the requirement is about deleting the git repository from the agent and clone it fresh for every build, it is sufficient to just enable "Force Clean Build" option in your Source code checkout task in your plan.

If your requirement is about saving the disk sp ace,it is sufficient to enable "Clean working directory after each build" option in the Plan configuration. This option increases build times especially when you have big Git repositories, but definitely saves disk space.

You might be also interested in voting on this feature request - BAM-13589. Hope that clarifies.

This article explains how stored Git caches speed up builds.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .