Bamboo project and plan naming conventions
Asked by Rob McElroy:

**BACKGROUND:** With bamboo you have projects and projects contain plan(s). What I did was create a project for each application we deploy in Bamboo. Then within each project I have a plan for dev and qa environments. We don't have any production builds yet occuring in Bamboo.

**ISSUE:** I'm getting ready to create a plan for production builds. The issue I'm struggling with is whether I should create the production builds within the same project as my dev and qa builds.

The problem I see is how easy it is to accidently kick off a build to an environment and i'm afraid a developer might kick off a production build by accident at the wrong time.

**THOUGHTS:** I'm torn between putting the production build plan into the same project as the QA and Dev build plans or simply creating a new project, called Production where all my production builds live.

I know this answer is subjective, i'm simply looking for any thoughts others might have on the issue.

Thanks,


Answers:
author: Gretchen Jones
body: Another option you might consider is to make the deployment/build for production require a manual kickoff. It's inconvenient if you are actually intending to create a production build but it will prevent a user from accidentally kicking off a prod.

There's a checkbox on the Configure Stage that says "Manual" that will require you to both "run" the stage and also to push an additional button to make it actually kick off.

I take the additional step of disabling the production plans when they're not imminent.

comments: author: Rob McElroy
body: Hello Gretchen -   

Thanks for your response! I can't find the "Manual" checkbox. I have the Build Strategy set to manual under the Plan Details tab. On what tab is this checkbox?  

Thanks!


author: Gretchen Jones
body: It's on the Stage configure page. Click on Plan Configuration\>Stage and select the gear on the stage itself (not the jobs in the stage).


author: The dude
body: This is about deployment projects, not plans. I have one plan and multiple deployments (dev,test,prod) I also have the same concern of accidentally running the prod depl instead of test. We really need deployment projects to have a 'status' attribute that is enabled or disabled. Then I could set the prod ones to disabled and only reenable them when I want to deploy. Better yet, if bamboo understood the concepts of dev,test,prod and let us label the depl projects. Then there could be an extra "ARE YOU REALLY REALLY SURE" screen when a prod one was selected for depl.


author: Jobin Kuruvilla [Adaptavist]
body: Given the fact that permissions can be given on a plan basis, you can restrict users from kicking off production builds even if they can do it on other builds in the same project.

So I guess it is down to how you want to see it. You can just give the permission to selected users in the production build or create a 'Production' project and so the same.

comments: author: Rob McElroy
body: Hi Jobin -

Thanks for your response. We are a small shop so all developers have access to run all builds.


author: Jobin Kuruvilla [Adaptavist]
body: You can still create a special group and provide access to Production Builds only for that group. I though you wanted to avoid the scenario where developers run production builds?


author: Rob McElroy
body: I want to avoid the scenario where developers accidently run production builds.

From my original question,

*"The problem I see is how easy it is to accidently kick off a build to an environment and i'm afraid a developer might kick off a production build by accident at the wrong time"*

I will take your input regarding security into consideration. Thanks