Bamboo は継続的インテグレーション (CI) サーバーであり、ソフトウェア アプリのリリース管理を自動化して、継続的なデリバリー パイプラインを構築するために使用されます。
これが意味すること
CI とは、コードがリポジトリにコミットされるたびに、ビルド、ユニット テスト、統合テストを実行、またはトリガーして、新しい変更が既存のコード ベースにうまく統合されることを確認するソフトウェア開発方法です。統合ビルドは、新しい変更の質について、早い段階で「フェイル ファスト」のフィードバックを提供します。
リリース管理とは、ソフトウェア アプリのリリースに向けて一般的に実行されるステップのことです。これには、ビルドと機能のテスト、リリースのタグ付け、バージョンの割り当て、本番環境での新しいバージョンのデプロイと有効化が含まれます。
Bamboo でどんな問題を解決できますか?
個人開発者の場合、Bamboo を使用すると次のような利点があります。
- 自動化された、信頼性の高いビルドとテストのプロセスで、より多くのコーディングを自由に行えます。
- 異なる要件やターゲットを持つビルドを管理する方法が提供されます。
- App Store や Google Play などのサーバーに自動でデプロイします。
チームで Bamboo を使用する場合は、上記の利点に加えて、次のような利点があります。
- ビルドとテストのプロセスが、特定のローカル環境に依存しません。
- 開発者がコードをコミットすると、ただちにビルドと統合のテストが自動でトリガーされます (継続的インテグレーション)。
大規模で複雑なアプリを取り扱う際に Bamboo を使用すると、上記のすべての利点に加えて、次のような利点があります。
- you can optimise build performance through parallelism.
- エラスティック リソースを活用できます。
- 継続的なデプロイを実行できます (例えばユーザー承認テスト (UAT) など)。
- リリース管理を実装できます。
Bamboo はどのように機能しますか?
Bamboo には何が必要ですか?
Bamboo は、アプリの構築やテストに関連する作業をスケジュールして、調整します。したがって、Bamboo を使用するには、次がセットアップ済みである必要があります。
- プロジェクトの完全なソース コードを含むコード リポジトリ
- ビルド スクリプト
- テスト スイート
一般的に、コードに変更をコミットしたユーザーが、その結果生じたビルド エラーをただちに修正する責任を持つと考えられます。
How is a Bamboo workflow organised?
Bamboo は、「ジョブ」と「タスク」を含む「プラン」という概念によって、ワークフロー内のアクションを設定/順序付けします。
プロジェクト | - Has one, or more, plans.
- Provides reporting (using the wallboard, for example) across all plans in the project.
- 他のアプリへのリンクを提供します。
|
Plan | - Has a single stage, by default, but can be used to group jobs into multiple stages.
- 同じリポジトリを使用して順番に実行される一連の 1 つ以上のステージを処理します。
- 既定のリポジトリを指定します。
- Specifies how the build is triggered, and the triggering dependencies between the plan and other plans in the project.
- Specifies notifications of build results.
- Specifies who has permission to view and configure the plan and its jobs.
- Provides for the definition of plan variables.
|
段階 | - Has a single job, by default, but can be used to group multiple jobs.
- Processes its jobs in parallel, on multiple agents (where available).
- Must successfully complete all its jobs before the next stage in the plan can be processed.
- May produce artifacts that can be made available for use by a subsequent stage.
|
ジョブ | - Processes a series of one or more tasks that are run sequentially on the same agent.
- タスクが実行される順番を制御します。
- 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.
- 前のステージで生成されたアーティファクトのみを使用することができます。
- Specifies any labels with which the build result or build artifacts will be tagged.
|
タスク | - ソース コードのチェックアウト、Maven 目標の実行、スクリプトの実行、またはテスト結果の解析など、作業の小さな個別の単位です。
- Is run sequentially within a job on a Bamboo working directory.
|