Bamboo CI サーバの概要

Bamboo is a continuous integration (CI) server that can be used to automate the release management for a software application, creating a continuous delivery pipeline.


CI is a software development methodology in which a build, unit tests and integration tests are performed, or triggered, whenever code is committed to the repository, to ensure that new changes integrate well into the existing code base. Integration builds provide early 'fail fast' feedback on the quality of new changes.

Release management describes the steps that are typically performed to release a software application, including building and functional testing, tagging releases, assigning versions, and deploying and activating the new version in production.

CI overview

What problem does Bamboo solve?

If you are a solo developer, then using Bamboo gives you:

  • an automated, and therefore reliable, build and test process, leaving you free to code more.
  • a way to manage builds that have different requirements or targets.
  • automatic deployment to a server, such as the App Store or Google Play.

If you work in a team, then as well as the above advantages, using Bamboo also means that:

  • your build and test process is not dependent on a specific local environment.
  • builds and integration tests are triggered automatically as soon as a developer commits code (continuous integration).

If you work on a large, complex application, then, in addition to all the above advantages, using Bamboo means that:

  • you can optimize build performance through parallelism.
  • you can leverage elastic resources.
  • you can deploy continuously, for example to user acceptance testing (UAT).
  • you can implement release management.

How does Bamboo do this?

  • Bamboo is the central management server which schedules and coordinates all work.
  • Bamboo itself has interfaces and plugins for lots of types of work.

  • Bamboo first gets your source from a source repository (lots of plugins here for a variety of systems).

  • Then Bamboo starts the build - that can be done by calling something like MSBuild to build your Visual Studio solution, or Maven to call your compiler and linker - whatever you use.
  • Once your solution or project is built, you have "artifacts" (build results, for example, an executable app, config files, etc.).
  • You can do additional things with the build artifacts:
    • zip them up into a ZIP file and copy them somewhere.
    • run an install builder on them and create an MSI.
    • install them on a test server to make sure everything installs just fine.
  • Bamboo provides a web front-end for configuration and for reporting the status of builds.

What does Bamboo need?

Bamboo schedules and coordinates the work involved in building and testing your application. Therefore, to use Bamboo, you will need to already have the following set up:

  • a code repository that contains the complete source code for the project.
  • build scripts
  • test suites

It is generally assumed that the person who commits a change to the code is responsible for fixing any resulting build errors immediately.

How is a Bamboo workflow organized?

Bamboo uses the concept of a 'plan' with 'jobs' and 'tasks' to configure and order the actions in the workflow.


  • Has none, one, or more, plans.
  • プロジェクト内のすべての計画にわたるレポートを提供します (例えば、ウォールボードを使用します)。
  • 他のアプリへのリンクを提供します。
  • Allows setting up permissions for all the plans it contains


  • 初期設定ではステージが 1 つありますが、ジョブを複数のステージにグループ化するために使用できます。
  • 同じリポジトリを使用して順番に実行される一連の 1 つ以上のステージを処理します。
  • 既定のリポジトリを指定します。
  • ビルドがトリガーされる仕組みと、計画とプロジェクト内の他の計画との間のトリガー依存関係を指定します。
  • ビルド結果通知を指定します。
  • 計画とそのジョブを表示および設定する権限を持つユーザーを指定します。
  • プラン変数の定義を提供します。


  • By default has a single job but can be used to group multiple jobs.
  • ジョブを並行して複数エージェント (ある場合) 上で処理します。
  • Must successfully complete all its jobs before the next stage in the plan can be processed.
  • 後続のステージで使用できるアーティファクトが生成されることがあります。


  • 一連の1つ以上のタスク順番に同じエージェント上で実行される)を処理します。
  • タスクが実行される順番を制御します。
  • Collects the requirements of individual tasks in the job, so that these requirements can be matched with agent capabilities.
  • Defines the artifacts that the build will produce.
  • 前のステージで生成されたアーティファクトのみを使用することができます。
  • 任意のラベルを指定します。これによって、ビルド結果またはビルド アーティストがトリガされます。


  • ソース コードのチェックアウト、Maven 目標の実行、スクリプトの実行、またはテスト結果の解析など、作業の小さな個別の単位です。
  • Bamboo 作業ディレクトリでジョブ内で順番に実行されます。

最終更新日 2021 年 6 月 7 日


Powered by Confluence and Scroll Viewport.