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

Is it mandatory to have the capability on Server?

Jobin Kuruvilla [Adaptavist]
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.
February 3, 2012

I am looking to create a Bamboo plan where the Source respository is Perforce. I have a remote agent that has the Perforce executable created as a capability.

However I still can't create the plan because Bamboo is looking for Perforce Client executable defined as a server capability.

Is this expected? Do we need the executable on the Server side even if it is there on the remote agent? Does it mean the source will be downloaded on the server? Can I instead force the build to use the remote agent and its capability?

2 answers

1 accepted

1 vote
Answer accepted
PiotrA
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.
February 3, 2012

I think yes, you need the p4 executable on the Server side. Bamboo server needs to collect the code changes since last build and this operation is performed server-side, prior to the build execution (on local or remote agents). Does this mean the p4 repository source will be downloaded on the server? I think no - the Bamboo server will just poll remote the p4 repository for relevant changes - source content is irrelevant.

Jobin Kuruvilla [Adaptavist]
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.
February 3, 2012

Bamboo server needs to collect the code changes since last build and this operation is performed server-side, prior to the build execution (on local or remote agents)

Ah ok, that makes sense.

Regarding the last part of the question - which agent will the build run on? I have a local Agent (default one) and the remote agent. Can I force the build to always run on the Remote Agent?

PiotrA
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.
February 3, 2012

Yes, you can (however it's a kind of workaround). You need to add custom capability to the remote agent (bamboo->administration->agents->the agent->somewhere there). For example add custom capability "isRemote". Simultaneously you have to add requirement to all your plan jobs (bamboo -> all plans -> configure the plan -> jobX -> requirements) which would require the "isRemote" custom capability to be present on the building agent. That way the Bamboo will dispatch the plan's jobs only to remote agents (assuming you don't add "isRemote" custom capability to the local agents as well :) ).

Does it make sense?

Jobin Kuruvilla [Adaptavist]
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.
February 3, 2012

Yup, that will work for me. Thanks Piotr!

1 vote
Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
February 3, 2012

Yes, I think you need the Perforce executable on the remote machine (to get the files from the repo) as well as the Bamboo machine (to get the repo information about what's being built).

What I don't know is if they can share the executable somehow. ou could rig it so the Bamboo server uses the p4 client to drop files onto shared storage so the remote doesn't need it, but I still think Bamboo needs the executable client to enable it to talk to the repo.

Jobin Kuruvilla [Adaptavist]
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.
February 3, 2012

Thanks Nic, for the quick answer. It would have been awesome if the server could share the execuatble on the Remote. I think it is the other way that is possible now.

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
February 3, 2012

Yes, it would be nice. The closest I think I can get is getting the Bamboo server to fetch the stuff to be built from Perforce (i.e with a p4 client), and then pushingit to the build server, so you don't need p4 there. Not sharing, but making it unnecessary.

I don't think there's any getting away from having p4 access of some sort on the Bamboo server, and as it's a proprietary thingy, it's really hard to build into a CI service (on the brighter side, Perforce are much more friendly than other non-open SCM providers and say "help yourself to the client side stuff", and their binaries are monolithic, so you drop one executable on your system, do a tiny bit of config, and it works)

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events