リリースを計画することは、そのリリースのスコープについてのいくつかの基本的な問題に答えることを意味します。完全に新規のリリースですか。それとも、以前に定義された計画を使用しますか。あるいは、既存のリリースに対する変更がほとんど必要ない、パッチのようなマイナー・リリースでしょうか。これらの質問への答えによって、実動への道筋が決まり、既存のリリースを再使用できるかどうか、そして使用できる場合、どの程度まで使用できるかということが決定されます。
リリース・トレインへの入力は、同期化され、オープンな、チーム・ベースの計画からのものになるようにしてください。このゴールは、明確に述べられた成果物と相互依存のセットを定義することです。
実動への道筋は、最終フェーズである実動に至る一連のフェーズを示しています。最も簡単に言うと、フェーズは 1 つ以上の環境と品質要件を表します。フェーズには、品質状況やゲートなど、さらに項目を定義することができます。
フェーズの進行は、ライフサイクル・モデルによって定義されます。リリースの作成時に、そのリリースで使用可能なフェーズが、そのリリース用に選択されているライフサイクル・モデルに定義されます。必要なフェーズがライフサイクルに定義されていない場合は、モデルを変更するか、完全に新しいモデルを作成することができます。IBM® UrbanCode Release では、適合するようにユーザーが変更できるデフォルト・ライフサイクルが提供されています。
以下の図は、同じライフサイクル・モデルを使用する 2 つのリリース、October と November を示しています。モデルに定義されているフェーズは、上部にリストされています。図に示されているように、リリースには環境が割り振られ、各フェーズには 1 つの環境が割り当てられています。例えば、October リリースは DEV フェーズ中に DEV-1 環境を使用し、November リリースはそのフェーズに DEV-2 を使用しています。モデルには、フェーズ間のゲートが定義されています。
ライフサイクルは、任意の数のリリースに使用できます。環境とアプリケーションを変えることにより (アプリケーションのラインナップはリリース間で異なることに注意してください)、同じライフサイクルで起こりうるほとんどすべての事柄に対してリリースを作ることができます。ライフサイクルが特定のリリースに適していない場合、例えばフェーズが多すぎたり少なすぎたりする場合は、いつでも新しいライフサイクル・モデルを作成することができます。
IBM UrbanCode Release を使用して実動前と実動の間のトラックを作成し、そのトラックに沿って確実にリリースを実行することができます。リリース・トレインは、いずれのタイプのローリング・ストック (自動プロセス、手動プロセス、およびアドホック・プロセス) によってもプロビジョニングでき、 あらゆるタイプの貨物を運ぶ (あらゆるタイプのリリース・コンテンツを処理する) ことができます。 リリース・トレインの予測可能なスケジュールによって、リリース・プロセスが推進されます。IBM UrbanCode Release を使用することにより、チーム・ベースの計画を統合して同期を取り、明確でオープンな、理解しやすい計画を作り上げることができます。すべての関係者がスケジュールと重要なマイルストーンを認識して、リリースが計画どおりに開始し、期限通りに完了することを確信できます。
狭義において、リリースを作成するということは、Web ユーザー・インターフェースを使用してそれに命名し、ライフサイクルとチームを選択することです。もっと一般的に言えば、そのリリースがメジャー・リリースかマイナー・リリースかを決定することです。大まかに言うと、マイナー・リリースは、既存の環境とアプリケーション、またはそのアプリケーションのサブセットを使用できるリリースで、メジャー・リリースには新しい環境とアプリケーションが必要です。
アプリケーションは必須ではありません (例えば、完全にマイルストーンとインフラストラクチャーに関連したタスクのみで構成されたリリースを作成する場合があります) が、ほとんどのリリースには間違いなくアプリケーションのデプロイメントが含まれます。アプリケーションは、IBM UrbanCode Deploy などの外部ツールとの統合によって得られる場合、または IBM UrbanCode Release 自体の中に作成される場合があります。各リリースでは、IBM UrbanCode Release に定義されているすべてのアプリケーションが使用可能です。リリースには、任意の数のアプリケーションを関連付けることができます。
IBM UrbanCode Release と外部ツールとの統合について詳しくは、統合プロバイダーの構成を参照してください。.