Products Solutions Contact TR

Continuous Integration with Bamboo

 
Source: Atlassian Blog
 

Bamboo is a continuous integration server developed by Atlassian to automate version management for software applications.

 

So what is “continuous integration”?

 

Continuous integration is testing of every change in the system. It aims to integrate the different modules developed in the software process with minimum problems.

 
  • It reduces the risks for projects.
  • It reduces the continuous repetitive manual controlled processes.
  • It improves the quality of feedback received.
  • It provides rapid development as a team for developers who usually develop individual modules.
 

There are many tools for continuous integration. – Bamboo functions as a continuous integration server. – Bamboo is one of the crucial continuous integration tools as it supports many version control systems, has various notification systems, and has many other features. – In addition to Bamboo, Jenkins, a free software written in Java, can also be used.

 

Workflow Organization in Bamboo

 

Bamboo uses the concepts of project, plan, stage, job, and task in its workflow.

 
  • Project

It includes one or more plans, provides reporting for the plans and maintains connections to other applications.

 
  • Plan

It specifies the default repository, defines the variables within Bamboo, indicates “build” results.

 
  • Stage

It can contain one or more jobs. It processes the multi-agent jobs in parallel. All jobs must be completed at a stage to move to the next step.

 
  • Job

It allows you to collect together the tasks you want to run sequentially on the same agent and checks which tasks are done. It can only use the data from the previous stage. It indicates tags for “build” results and other data.

 
  • Task

It’s a small unit that gets the source code, executes the scripts or parses the test results. It runs the jobs in Bamboo’s working directory sequentially.

 

Bamboo coordinates and schedules the building and testing of applications. This way, it automates installations and tests. Therefore, for Bamboo, you need:

 
  • Code repository of the project
  • Build scripts
  • Tests
 

In Bamboo, an authorized person is assigned to create the project and specify the repository for the project. This person should add test tasks for the project. Afterward, we can run tasks periodically or manually at any time. Also, when there is a new commit in the central repository, it creates a queue of the tasks, using a trigger.

 
Source: Atlassian Bamboo Documentation
 

Bamboo manages the building and testing process in general, and it is not connected to a local environment. It automatically triggers the building and integration tests after the developer commits the code. During the trigger process, the code is pulled from the central repository and converted to an installation file using a script. In the end, Bamboo sends the installation file and the script to the machine for installation. The machine completes the installation by running the machine setup script. After the installation, Bamboo carries out the JMeter and Selenium tests.


Author: Kartaca

%d bloggers like this: