Directory structure in Bamboo builds

I'm porting across a PHP project from Jenkins to Bamboo, and feel as though there's something I must be missing with Bamboo.

I wanted to get rid of the linear set of commands that we had with Jenkins and separate things out into Stages. The very first Task is to checkout the source repos, which end up in xml-data/build-dir/PROJ-PLAN-JOB1/(foo|bar|baz). Now for every task in subsequent stages, e.g. running unit tests, I need to set the working directory to "${bamboo.build.working.directory}/../PROJ-PLAN-JOB1/foo". Is this the correct way of doing things?

Also, is there a standardized location for things like configuration files? We have a set of .yml and .xml files that contain sensitive info like the live database credentials, which we don't want to keep under source control. At the moment I'm just doing the following in a script, which seems suboptimal:

cp /path/to/live-parameters.yml ${bamboo.build.working.directory}/../PROJ-PLAN-JOB1/foo/app/config/parameters.yml

TL;DR I want to work on the same set of files in each Stage of my Plan, but it appears that I always need to refer to the relative path of the subdirectory where the files are first checked out. Is this correct?

2 answers

1 accepted

This widget could not be displayed.

Let me explain why it is so.

The stages are designed with parallel & distributed execution in mind. You can define many jobs in single stage and they will run in parallel (as long as you provide enough agents). But this has consequence on how we had to organise working directories: since jobs can run in parallel and are dynamically assigned to agents (which can be remote), each job runs in separate directory. This in turn means that if you need to pass information to later stages you should use Artifacts.

Long story short: if your build is sequence of things to be happening on single dir, using single Job is better solution.

What you do will work only as long you don't use concurrent builds and have only 1 agent that runs your build.

This widget could not be displayed.

I see, thanks for the quick response!

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Tuesday in Jira

What modern development practices are at the heart of how your team delivers software?

Hey Community mates! Claire here from the Software Product Marketing team. We all know software development changes rapidly, and it's often tough to keep up. But from our research, we've found the h...

201 views 1 3
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you