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?
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.
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.