Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Plan Default Job


My question is regarding a plans default job and the role that job has when there are multiple environments configured for that plan. What I'm trying to solve is why the Bamboo artifacts, generated every time we deploy a build, contain each of the environments Git repositories which is consuming a ton of disk space on our server.

For example, we have a plan that has a default job that runs a a Git checkout for three separate Git repositories. I'll call this plan "Test Plan." Test Plan has three separate environments setup: dev, staging, production. Each of the environments has a single task that executes a Git pull of their respective Git branches.

My question is if I run a deployment, for the dev environment in the Test Plan will the Test Plan's default job execute every time I deploy dev? This seems to be the case which would explain why the artifacts contain all three of the environments Git repositories.

This setup does not look correct to me. I would think that if there is multiple environments configured for a single plan then there should not be a default plan job for the example I outlined above. Each environment should have their own tasks; a Git checkout and a Git pull. But what if I don't want the Git checkout to actually run if a repo already exists in the destination?

Simply put my expectation would be that, if I deploy the dev environment then the resulting Bamboo build artifact should only contain the Git files for that environment. The artifact should not include respositories from staging and produciton.

If I left out key information that would prevent you from being able to accurately provide any helpful feedback please let me know.

Thank you.

1 answer

1 vote
Jeremy Owen Atlassian Team Feb 21, 2018

You're right, a deployment environment shouldn't be deploying all environments artifacts but it's a little hard to work out why that's happening without seeing your configuration. It sounds like you're utilizing deployment projects, but I guess your 'Test Plan' build plan could be executing the deployment tasks too?

I'll try to describe how you might set something like this up typically using your current Test Plan:

  • Build Plan: 'Test Plan'
    • Job Configuration > Artifacts: Three artifact definitions for the job that produces your artifacts (which are just straight Git repositories in your case).
    • One artifact definition per environment (Dev, Staging, Production) with a pattern that just selects the repository files applicable for that environment
  • Deployment Project at Deploy > All Deployment Projects
    • Three environments: Dev, Staging, Production
    • Artifact download task configured for each environment, set specifically to only download the artifact from 'Test Plan' that's relevant to the environment.

It sounds like currently, either you only have one artifact definition that packages up all the repositories or your Artifact download tasks within your deployment environments are set to download All artifacts instead of the environment specific artifact.

Hope this helps. :)

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Bamboo

Bamboo Data Center 8.1 is now available

G’day Bamboo customers, Bamboo DC 8.1 is now available with it the following features and programs: SAML 2.0, OpenID Connect, and Crowd SSO In order to help admins with a simplified user manage...

204 views 0 4
Read article

Community Events

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

Find an event

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

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you