リリース管理リリース管理概要

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

リリース管理

リリース管理とは、異なる目的を持つ個別の環境にわたって、リソースの複数のバージョンを管理するプロセスです。これは、環境分離の原則とも呼ばれます。通常、環境は、機能開発、機能テスト、本番環境への機能のデプロイなど、リリースの各段階にあるリソースを配置する、分離された場所として機能します。

たとえば、組織の開発者が開発環境で新しい機能の開発に共同で取り組む一方で、ユーザー受け入れテストの担当者や自動テストスクリプトは、開発済みで本番環境向けの検証がまだ完了していない機能を、本番環境へのリリースに先立ってテスト環境でテストできます。その間も、本番環境で稼働している既存の機能は引き続きユーザーが利用でき、ほかの環境で進行中の開発やテストの影響を受けません。

リソースを環境ごとに分離することで、本番環境で稼働している機能に影響を与えずに、管理された環境で変更をテストおよび検証できます。リソースのテストが完了したら、準備が整っている場合は本番環境に昇格させ、必要に応じてさらに開発を進めることができます。

DevOps と Marketplace の使用は、リリース管理プロセスを実装する方法の1つです。Palantir プラットフォームには、Global Branching の使用など、ほかの方法もあります。

DevOps と Marketplace における環境分離

スペースは、Foundry で環境分離を可能にする、Palantir プラットフォームの柔軟な基本要素です。環境分離とは、開発、テスト、本番など、開発とデプロイの異なる段階に対して個別のスペースを維持することです。この分離により、変更を本番環境に昇格させる前に、管理された環境でテストおよび検証できるため、本番ワークフローにエラーや問題が生じるリスクを最小限に抑えられます。

ワークフローに必要な数だけ環境を作成できるため、独自のリリース管理モデルを構築できます。

一般的な環境のセットアップは、次の3つの環境で構成され、それぞれが Palantir プラットフォームの「スペース」として表されます。

  • 開発:新しい機能を開発するための環境
  • テスト:前の環境で開発された機能を手動または自動でテストするための環境。
  • 本番:前の環境で開発およびテストされた機能をエンドユーザーが使用するための環境。

3つの環境にわたってデプロイされた3つのワークフローを示す図。

一般に、製品が環境間で昇格されると、その製品内の機能が昇格先の環境やスペースで利用可能になります。環境ごとに、次のような違いを設定できます。

  • 環境固有のデータ: たとえば、開発環境では仮想のデータを使用し、テスト環境では実データの一部を使用し、本番環境では実データを全規模で使用できます。
  • 環境固有の動作: 非本番環境での動作は、本番環境での動作と異なる場合があります。たとえば、本番環境では関連するユーザーに送信されるメール通知が、ほかの環境では別のグループに送信される場合があります。同様に、本番環境の承認ワークフローでは実際の承認者が承認するのに対し、非本番環境ではテスターや開発者など、異なるユーザーによる承認を許可できます。
  • 環境固有の統合: たとえば、開発環境では開発用のデータベースに接続し、ほかの開発用システムの API を呼び出すことができます。本番環境では通常、本番データベースに接続し、ほかの本番用システムを呼び出します。

Global Branching とリリース管理の比較

Global Branching を使用すると、分離されたブランチでワークフローの変更を開発およびテストできます。複数の開発者が互いに分離された状態で作業できるため、環境内の変更の管理に最適です。変更がメインブランチにマージされるのは、機能が完成し、適切な権限レベルを持つユーザーがマージする場合に限られます。

Global Branching は迅速な反復開発に最適で、新たに開発した機能を簡単にテストできます。ただし、ブランチは短期間で使用されるものであり、対応するリソースの種類も限られているため、リリース管理のすべてのニーズを常に満たせるわけではありません。

リリース管理に DevOps と Marketplace を使用する利点として、次のことが可能になります。

  • 環境ごとに異なるソースシステムと統合する
  • 環境ごとに異なるセキュリティポリシーを維持する
  • 以前のリリースにロールバックする
  • リリースチャネルを設定する
  • 長期間維持される環境をサポートする

リリース管理に Global Branching を使用する利点として、次のことが可能になります。

  • 新しい機能の反復開発を迅速に行い、エンドユーザーに簡単にリリースする
  • ホットフィックスを簡単に作成し、環境にリリースする
  • 使用されていないブランチが自動的に削除されることで、インフラストラクチャーのコストを削減する

リリース管理に DevOps を使用する方法について、詳しくはこちら。