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

基本概念

ブランチ

ソフトウェア開発者は通常、バージョン管理システムを使用してコードベースでの作業を調整します。これにより、複数のエンジニアが同じコードに安全に変更を加えられます。

Palantir プラットフォームでは、ソフトウェア開発者がコードを扱うのと同じように、データと変更の管理を考えることができます。つまり、多くの人が他の人の作業を妨げずに、同じデータに変更を加えたり操作したりできる仕組みが必要です。Global Branching は、ソフトウェア開発のベストプラクティスを Palantir プラットフォームに適用し、バージョン管理システムの一般的な機能であるブランチを活用します。

大まかに言うと、ブランチを使用すると、既存の環境を分岐させ、独立したブランチ内でエンドツーエンドのワークフローの構成要素を操作できます。変更内容に満足したら、このブランチで加えた変更を main ブランチにマージして戻すことができます。

ブランチのワークフロー

グローバルブランチは、Foundry アプリケーション内、または Global Branching アプリケーションで直接作成できます。次の図は、ブランチのワークフローを使用して Palantir プラットフォームのリソースを変更する方法を示しています。

ブランチのワークフロー。

ブランチを作成またはアクセスする

Foundry アプリケーションのブランチセレクター、または Global Branching アプリケーションからブランチを作成できます。

新しいブランチの作成ダイアログ。

オントロジー、組織、スペースがブランチの作成にどのように関係するかについては、ブランチのセキュリティのドキュメントを参照してください。

既存のグローバルブランチにアクセスするには、対応するいずれかのアプリケーションのブランチセレクターで選択します。Global Branching アプリケーションのブランチタブから既存のブランチを探して移動することもできます。

ブランチタブ。

対応するアプリケーションでグローバルブランチ上の作業を行っているときは、ブランチタスクバーが表示されます。

ブランチタスクバー。

ブランチ上で変更を加える

リソースを編集する

このブランチ内では、main ブランチに影響を与えずに Foundry リソースを変更できます。ただし、ブランチ上で Foundry リソースを作成または削除すると、main に影響します。これはオントロジーリソースには当てはまりません。オントロジーリソースは、main ブランチに影響を与えずに、ブランチ上で作成、変更、削除できます。

リソースの変更をはじめる際、一部のアプリケーションでは、あらかじめリソースをこのブランチに追加する必要があります。ほかのアプリケーションでは、最初の変更を保存した後に自動的に追加されます。事前の追加が必要な場合は、ブランチを選択すると追加を求めるダイアログが表示されます。

グローバルブランチにパイプラインを追加する。

main ブランチからの更新

このブランチ上でリソースを変更している間に、main ブランチ上で同じリソースが更新されることがあります。その更新を取り込むには、このブランチをリベースします。つまり、main の変更をこのブランチにマージし、その上に、以前保存したブランチの変更を再適用します。

オントロジーでのリベース。

このブランチから変更を削除する

ブランチからリソースを外すと、その状態は main ブランチ上のリソースのバージョンに戻ります。Global Branching アプリケーションから直接、またはブランチタスクバーから、ブランチに追加したリソースを外すことができます。

このブランチからリソースを外す。

リソースを外すと、このブランチの状態が壊れる可能性があります。そのため、リソースのリネージを確認し、ブランチ上のほかのリソースが変更内容に依存していないことを確かめることが重要です。

提案を作成して準備する

このブランチの状態に満足したら、提案を作成して変更のレビューをはじめ、最終的に main ブランチにマージします。はじめるには、Global Branching アプリケーションで作成を選択するか、ブランチタスクバーで同じ選択肢を選択します。提案を作成するには、ブランチの所有者ロールまたはスペースの管理者権限が必要です。ブランチのロールと権限の詳細については、ブランチのセキュリティのドキュメントを参照してください。提案には説明の項目があり、変更のレビューに必要な情報を入力できます。この項目は Markdown テキストに対応しています。

提案の作成ダイアログ。

提案ページまたはブランチタスクバーから、チェックを使用してリソースがマージ可能な状態かどうかを確認したり、レビュー担当者を割り当てたりできます。

提案ページ。

チェック

提案が作成されると、リソースごとにチェックが実行され、提案をマージできるかどうかが判定されます。

チェックでは、main ブランチと現在のブランチの競合や、必要な承認など、リソースのマージを妨げる可能性のある問題が示されます。提案をマージするには、ブランチ上のリソースのすべてのチェックに合格する必要があります。

リベースと競合の解決

ブランチをマージ可能な状態にするには、そのすべてのリソースが最新バージョンの main ブランチとマージ可能である必要があります。リソースが main より古い状態にある場合や、競合なくマージできない場合は、リベースのチェックに失敗します。ブランチ上のリソースをリベースするために、適切なアプリケーションにリダイレクトされます。ブランチ上のリソースと main 上のリソースの間に競合がある場合、リベースのチェックに合格するには、その競合を解決する必要があります。

アプリケーションごとのリベースの実装についてのドキュメントは、統合ページを参照してください。

Global Branching は、リベース中に競合しない変更を自動的に解決します。実際の競合、つまり main とこのブランチの両方で同じリソースの同じプロパティが編集された場合には、自動的に解決されません。リベースを続行するには、手動でいずれかのバージョンを選択する必要があります。

ブランチ上のリソースのチェック。

レビュー担当者を追加する

このブランチをマージするには、すべての承認ポリシーを満たす必要があります。保護されていないリソースでも、編集レベルの権限を持つユーザーによる承認が必要ですが、変更を加えたユーザーがポリシーを満たしている場合は、自動的に承認されることがあります。保護されたリソースには、リソースの保護と承認ポリシーで定義された必須レビュー担当者によるレビューが必要です。

承認待ちと指定されているリソースごとに、管理を選択して必須レビュー担当者を割り当て、関連する承認ポリシーを確認します。レビュー担当者が割り当てられると、その担当者に通知が届きます。

レビュー担当者の管理。

Code Repositories と Pipeline Builder のパイプラインでは、承認ポリシーはリソース内で定義されます。

提案をレビューする

割り当てられたレビュー担当者は、ブランチタスクバーまたは Global Branching アプリケーションでレビューを選択して、リソースのレビューページにアクセスできます。

ブランチ上のリソースのレビュー。

提案に含まれるリソースの変更を拒否する

レビュープロセス中に、いずれかのユーザーが1回でも拒否すると、そのリソースの変更は拒否済みになります。これにより、 提案全体をマージできなくなります。提案をマージするには、拒否したユーザーが変更を再レビューし、承認する必要が あります。

提案をマージする

変更が承認され、すべてのチェックに合格すると、ブランチタスクバーで提案をマージを選択するか、Global Branching アプリケーションから操作して、提案を main ブランチにマージできます。マージ権限については、ブランチのセキュリティのドキュメントで説明しています。

提案をマージするときに、ブランチ上で直接変更していないリソースも含め、影響を受けるリソースのビルドを実行できます。ビルドには3つのオプションがあります。

  • 影響を受けるすべてのリソースをビルドする: このブランチの変更によって影響を受けるすべてのリソースがビルドされ、上流の変更に含まれるデータが必要に応じて下流に流れます。
  • 変更されたリソースのみを構築する: このブランチで直接変更したリソースのみがビルドされます。このブランチの上流の変更に依存するリソースは、手動でビルドする必要がある場合があります。
  • リソースをビルドしない: どのリソースもビルドされません。提案をマージした後に、リソースを手動でビルドする必要があります。

提案をマージする際のビルドオプション。

マージの一部に失敗した場合、提案ページには、正常にマージされたリソースと、マージに失敗してブランチに残っているリソースが表示されます。現在、一部に失敗したマージを元に戻すことはできません。表示されたエラーを解決し、提案のマージを再試行する必要があります。

ブランチと提案のライフサイクル

ブランチのライフサイクル

アクティブ、非アクティブ、マージ済み、アーカイブ済みの状態を示すブランチのライフサイクル図。

ブランチを作成すると、ステータスはアクティブに設定されます。その後、ブランチは非アクティブ、アーカイブ済み、マージ済みのいずれかの状態に移行できます。利用可能な4つのブランチの状態は、次のように定義されます。

  • アクティブ: 作業中、またはマージプロセスの途中にあるブランチです。アクティブなブランチでビルドまたはインデックス化されたデータは、ブランチがアクティブである間は保持されます。

  • 非アクティブ: アクティビティがない期間が設定された長さに達すると、自動的に非アクティブに指定されるブランチです。この状態では、オントロジーリソースのインデックスが解除され、指定された日数が経過するとデータが削除されます。非アクティブなブランチ上のリソースのビルドは、直ちに失敗します。ブランチが非アクティブに指定されると、ブランチの所有者にメール通知とプラットフォーム内通知の両方が送信されます。

    • ブランチが非アクティブに指定されるまでの期間と、データ削除が開始されるまでの期間は、Control Panel の Control Panel > スペース > アクション > グローバルブランチの保持ポリシーで定義されます。デフォルトでは、ブランチが非アクティブになるまでの期間は35日に設定され、ブランチのデータ削除は7日後に開始されます。 Control Panel でブランチの保持設定を管理する画面。
    • 非アクティブなブランチをアクティブな状態に戻すには、ブランチの非アクティブラベルを手動で外します。
    • ブランチ上のリソースを開くと、ブランチが非アクティブであることを警告するダイアログが表示されます。ブランチをアクティブ化を選択すると、ブランチがアクティブになります。代わりにダイアログを閉じた場合も、リソースの操作を続けられますが、これは推奨されません。 ブランチ上のリソースを表示したときに、ブランチが非アクティブであることを警告し、アクティブ化を促すダイアログ。
  • アーカイブ済み: 作業が行われなくなったブランチです。アーカイブは常に手動で行います。ブランチの所有者にメール通知とプラットフォーム内通知の両方が送信されます。アーカイブ済みのブランチでのインデックス解除、ビルドの失敗、データ削除は、非アクティブなブランチと同じように動作します。以前に変更されたリソースなどのメタデータは保持され、アーカイブ済みのブランチは復元できます。アーカイブ済みのブランチはブランチセレクターには表示されませんが、Global Branching アプリケーションで開いて復元できます。

    • ブランチ上のリソースを開くと、ブランチがアーカイブ済みであることを警告するダイアログが表示されます。ブランチを復元を選択すると、ブランチが復元されます。代わりにダイアログを閉じた場合も、リソースの操作を続けられますが、これは推奨されません。 ブランチ上のリソースを表示したときに、ブランチがアーカイブ済みであることを警告し、復元を促すダイアログ。
  • マージ済み: 提案がマージされたブランチです。マージ済みのブランチは最終状態にあり、復元できず、ブランチセレクターには表示されず、Global Branching アプリケーションからのみアクセスできます。

以前に非アクティブまたはアーカイブ済みだったブランチで作業する

ブランチが非アクティブまたはアーカイブ済みだった場合、そのブランチ上のリソースで、オントロジーリソースのインデックス解除やロジックとデータの削除が行われている可能性があります。その後ブランチをアクティブ化または復元した場合、削除されたデータやインデックスが解除されたデータを復旧するために、次の操作が必要になることがあります。

  • オントロジーのエンティティ: オントロジーリソースの再インデックス化を開始するには、オントロジーリソースの説明をわずかに更新するなど、動作に影響しない変更を加えるか、Ontology Manager のバナーから再インデックス化します。
  • Code Repositories: Job Spec が削除されている場合は、リポジトリ内の該当するトランスフォームのコメントを編集するなど、動作に影響しない変更を加えてからコミットします。その後、コードリポジトリ内からビルドを実行すると、該当するデータセットにロジックが再登録され、データセットがビルドされます。この最初のビルドを Data Lineage などのほかのアプリケーションから実行しても、Job Spec は登録されません。
  • Pipeline Builder: このブランチに Job Spec とデータを再登録するには、Pipeline Builder からデプロイとビルドを行います。
  • ビルドスケジュール: アーカイブ済みまたは非アクティブなブランチでのビルドは、自動的に失敗します。スケジュールがブランチ上のリソースをビルドする場合、ビルドの失敗が繰り返されると、スケジュールが一時停止されることがあります。Build Schedules アプリケーションまたは Data Lineage から、スケジュールを手動で再開できます。

既知の制限事項

  • ビルドの失敗が繰り返されると、非アクティブまたはアーカイブ済みのブランチ上のスケジュールは自動的に一時停止されます。このブランチを再度アクティブ化した場合は、必要に応じてブランチ上のスケジュールの一時停止を手動で解除してください。
  • ローカル開発中、たとえばローカルマシンから git を直接使用してブランチ上のリソースを操作する場合、非アクティブまたはアーカイブ済みのブランチでの作業は制限されません。加えた変更に基づいて実体化されたデータや Job Spec は、削除される可能性があります。

AI FDE

  • AI FDE では、非アクティブまたはアーカイブ済みのブランチを変更できません。続行するために、ブランチの再アクティブ化または復元を求めるプロンプトが表示されます。

提案のライフサイクル

提案は、次の3つの状態のいずれかになります。

  • 未完了: 進行中または承認済みの提案です。
  • マージ済み: main ブランチにマージされた提案です。
  • 完了: マージされずにクローズされた提案です。