Bamboo Interview Questions (2024)
What is Atlassian Bamboo?
How does a Bamboo workflow work?
What are Bamboo variables?
What are Bamboo Plan variables?
How to define a plan variable?
How to perform an incident investigation in Bamboo?
How do you make a CI CD pipeline in bamboo?
What are Bamboo Plugins?
What are various types of Bamboo Plugins?
How to Deploy a Bamboo Plugin?
How to Test your Bamboo plugin?
What are Bamboo Plugins and what are the various types?
How to schedule a bamboo job?
How to configure Bamboo with Subversion?
Q: What is Atlassian Bamboo?
Ans:
Atlassian Bamboo is a continuous integration (CI) and continuous delivery (CD) server. Bamboo helps software development teams by providing: automatic building and testing of software source-code state. build status (successful/failed)
Q: How does a Bamboo workflow work?
Ans:
Bamboo configures and organizes the actions in the workflow using the concept of a 'plan' with 'jobs' and 'tasks'.
Plan
- By default, there is only one stage, but it can be used to group jobs into multiple stages.
- Performs a series of one or more stages using the same repository in a sequential order.
- Set the repository to use as a default.
- Defines how the build is triggered, as well as the triggering dependencies between both the plan and other project plans.
- Define how you want to be notified when the build is finished.
- Defines who has permission to the plan and its jobs, as well as who may view and modify them.
- The plan variables are defined here.
Stage
- Has a single job by default, but can be used to aggregate several jobs.
- Jobs are processed simultaneously by many agents (where available).
- It must successfully fulfil all of its tasks before moving on to the next.
- It is possible to process the Bamboo CI Server in the plan.
- It's possible that it'll create artifacts that can be used by a later step.
Jobs
- Processes a set of one or more tasks that are executed in a specific order on the same agent.
- The sequence in which tasks are completed is controlled by this variable.
- In Understanding, the Bamboo CI Server, collects individual task requirements so that they may be matched with agent capabilities.
- Defines the artifacts that will be produced by the build. Only artifacts created in a previous stage can be used.
- Specifies any labels that will be applied to the build result or build artifacts.
Tasks
- Is a small discrete unit of work, like source code checkout, Maven goal execution, script execution, or test result parsing.
- Is executed in a job on a Bamboo working directory in a sequential manner.
Take a look at our Suggested Posts :
Q: What are Bamboo variables?
Ans:
When creating plans in Bamboo, variables can be used to make values available. Bamboo evaluates build-specific variables dynamically during the build process. Plan variables, like global variables, are defined for specific plans. Plan variables take precedence over global and project variables of the same name.
${bamboo.variableName}
Q: What are Bamboo Plan variables?
Ans:
A plan variable is defined for a single plan and has the same value every time that plan is built. If you'd like to define a variable that applies to all plans rather than just one, create a global variable.
Q: How to define a plan variable?
Ans:
- To get to the plan you would like to edit, go to Dashboard, then All Plans, then the name of the plan in the list.
- Select Actions -> Configuration Plan.
- Navigate to the Variables tab.
- Plan variables can be added, updated , or deleted as needed.
- Once you've entered the key and value for a new variable, click Add to add it.
- As you move between cells in the table, updates to existing rows will be saved.
- To delete a variable, click the cross icon. Bamboo will request that you confirm deletion.
Q: How to perform an incident investigation in Bamboo?
Ans:
Integrate Bamboo with Opsgenie to give your incident response teams the ability to quickly investigate deployment-related incidents from Opsgenie.
Q: How do you make a CI CD pipeline in bamboo?
Ans:
In Bamboo, a CI-CD pipeline must be created, which is triggered whenever a new commit is made to the Bit-bucket repository. Create another task that will create an image from a Docker file. The docker file will be extracted from the bitbucket repository and a docker image would be created from it.
Q: What are Bamboo Plugins?
Ans:
A Bamboo plugin is a single JAR file that contains code, an XML plugin descriptor, and typically a few Freemarker template files to render HTML.
The plugin descriptor is the only required component of the plugin. It should be named atlassian-plugin.xml and placed in the root directory of your JAR file.
Every plugin is made up of one or more plugin modules. These are of various types (like, a
report or a post-build action), and each has its own XML element that describes it. Each module
is outlined below, along with the XML element that is needed for it.
Sample descriptor:
<!-- the plugin key must be unique, think of it as the 'package' of the plugin -->
<atlassian-plugin key="com.atlassian.plugin.sample" name="Example Plugin">
<!-- a short block describing the plugin itself -->
<plugin-info>
<description>textual description of the plugin</description>
<!-- the version of the plugin -->
<version>1.1</version>
<!-- the versions of the application this plugin is for -->
<application-version min="3.0" max="3.0"/>
<!-- details of the plugin vendor -->
<vendor name="Atlassian Software Systems Pty Ltd"
url="http://www.atlassian.com"/>
</plugin-info>
. . . 1 or more plugin modules . . .
</atlassian-plugin>
Q: What are various types of Bamboo Plugins?
Ans:
Bamboo supports the following types of plugin modules:
Build Lifecycle Plugin Modules
Notification Plugin Modules
Bamboo Event Listeners
User Interface Plugin Modules
System Plugin Modules
Other Plugin Modules
Q: How to Deploy a Bamboo Plugin?
Ans:
After you've downloaded or created your plugin jar, proceed as follows:
- Close Bamboo and copy
'$MY COOL PLUGIN.jar' into '.../webapp/WEB-INF/lib/'.
- Launch Bamboo. Your plugin should be installed and activated automatically.
Q: How to Test your Bamboo plugin?
Ans:
- Bamboo plugins are not dynamically loadable. They should be installed in Bamboo's WEB-INF/lib directory, and the application must be restarted. The Atlassian Plugin Maven Archetypes include a plugin-debug profile that makes testing your plugin simple. executing the below command:
- This would compile the classes in your plugin, create a jar in the /target directory, download a copy of the Bamboo war, copy the plugin jar into Bamboo's WEB-INF/lib directory, and start up Bamboo. Maven will also include some pre-installed data, such as the licence and database configuration.
- Bamboo will be available at http://localhost:1990/bamboo, where you can view your most recent changes in your browser. You will be able to log in using the username admin and password admin.
mvn -Pplugin-debug
Q: How to schedule a bamboo job?
Ans:
One of the methods for triggering builds in Bamboo is to use a cron-based schedule to trigger the build of a plan. The Schedule editor is used to create this schedule. The schedule can be daily (times per day), weekly (days per week), monthly (days per month), or cron-based.
Use a cron expression to schedule a plan build:
- Choose Build > All build plans from the Bamboo menu.
- Help find the plan in the list and click the edit icon () to open the configuration pages for the plan.
- Select the Triggers tab, then either an existing trigger or the Add trigger button.
- Can choose the Scheduled trigger type from the drop-down menu.
- Fill a trigger description if desired.
- To open the Schedule editor, click the edit icon () next to the current schedule.
- To specify the build schedule for your plan, use the Schedule editor.
- Select the Save trigger option.
Q: How to configure Bamboo with Subversion?
Ans:
Configure a Subversion source repository by going through the following steps:
- Navigate to a linked repository, plan, or job's repository configuration.
- Choose Build resources > Linked repositories from the Bamboo header.
- Choose Add repository.
- Choose your repository type from the drop-down menu as below:
- Bitbucket (for Bitbucket Cloud)
- Stash (for Bitbucket Server)
- Git
- GitHub (for GitHub and GitHub Enterprise)
- Mercurial
- Subversion
- Perforce
- Select Add repository to create a new repository or Edit repository configuration to modify an existing repository.
- Select Subversion from the list of Source repositories.
- Provide Display name to help Bamboo identify the repository.