Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,556,274
Community Members
 
Community Events
184
Community Groups

How to prevent git checkout on server when using remote agents

Edited

I'm trying to find an answer to an issue which seemingly does not have a solution explained anywhere yet.
We use remote agents to do all of our bamboo builds, and we do *not* use the default agent on the bamboo server.
The bamboo server itself does not build: its agent is already disabled in the agent list

However, it seems that bamboo still makes the server check out its own copy of the git repositories that the remote agents are using, for some obscure and unexplained reason. This causes the server to run out of disk space, since it's never supposed to checkout those repositories in the first place

The only reference to this problem I could find anywhere on the internet is here:
https://serverfault.com/questions/304320/how-do-i-get-bamboos-disk-usage-under-control

However, no one gave a satisfactory answer, actually no one answered the question at all. This is not about disabling the default agent, since in both cases (ours, and the person that asked this question) the default agent is already disabled
This is not about clearing the build directory before or after the job, since we are talking about two different machines here: the unwanted checkout here is happening on the server, not on the remote agent

If anyone knows anything that could help solve this issue, we would be infinitely grateful

Update: I just found in the "Repository Settings" of the administration panel, that we have some understanding or control on those server-side cache

However, that page says "Git caches can be configured to reside both on the server and remote agents". Well it appears that that page is lying, as I have found nowhere how those caches can be configured to reside on the server and remote agents. Actually, I haven't found a place to configure those caches at all, and the documentation isn't helping :/

1 answer

1 vote
Alexey Chystoprudov
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
Feb 25, 2021

Bamboo Server keeps repository caches to use them at change detection actions. Every build result has list of commits and files changed at this build. This list is prepared by server before job is sent to agent.

Thanks a lot for the information. I have a few follow-up questions then:
- If repository cache is tied to change detection, would it be possible to disable both somehow ? I don't see getting a list of changed files as an integral part of bamboo core functionality, it seems like a rarely used functionality (even googling for that, I only find an obscure reference to an entry point in bamboo REST API)
- I'm not sure why change detection means the server has to *checkout* the files. It seems that git has all the functionality needed to get that information without ever checking out any files (`git show origin/<commit>` and  `git diff origin/<c1>..origin/<c2>` seem to give all the information that bamboo could ever rely on). I understand this is probably an implementation detail, but a very stinging one in this case. The worse part is that it also checks out the git LFS files, which is really an infrastructural nightmare in case of big repositories. So I definitely see this as a significant improvement that could be planned for us customers of bamboo
- It would be very nice if your answer was explained in the documentation. Apologies if I overlooked a piece of documentation somewhere, but so far I haven't found a piece of documentation that explains exactly what you just said

Alexey Chystoprudov
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
Feb 26, 2021

It's implementation details, originally Bamboo was supporting repositories like SVN, Perforce, CVS which doesn't support commands Git supports now. Still to enrich build result with files changed since previous build you need to keep these files and commit hashes somewhere.

Regarding LFS it's a way cache works now and I'm agree it's not that required for server if no local agents used.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events