注: 以下の翻訳の正確性は検証されていません。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つのオプションがあります。

  • 変更されたリソースとその間にあるすべてのリソースをビルド: 変更されたリソースと、それらの間にあるトランスフォームの両方がビルドされます。
  • 変更されたリソースのみをビルド: このブランチで直接変更されたリソースのみがビルドされます。このブランチの上流の変更に依存するリソースは、手動でビルドする必要がある場合があります。
  • リソースをビルドしない: リソースはビルドされません。提案がマージされた後に、リソースを手動でビルドする必要があります。

提案のマージ時のビルドオプション。

必要に応じて、変更されたリソースをマージ時のビルドから除くことができます。除くリソースの選択を保存すると、影響を受けるリソースのプレビューが更新されます。影響を受けるリソースとは、選択された変更済みリソースのペアの間にあると算出されたトランスフォームです。リソースを除いても、マージ時のビルドから外れるだけで、その変更はマージされます。

提案のマージダイアログに、変更されたリソースと影響を受けるリソースが表示され、変更されたリソースのうち2個がマージ時のビルドから除かれている様子。

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

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

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

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

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

  • アクティブ: 作業中、またはマージ処理中のブランチです。アクティブなブランチでビルドまたはインデックス化されたデータは、アクティブな状態が続く間、保持されます。

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

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

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

ブランチが非アクティブになるのを防ぐ

ブランチが非アクティブになるのを防ぐには、ブランチの詳細パネルのブランチ設定セクションで、ブランチをアクティブに維持オプションを有効にします。ブランチはアクティブな状態を維持し、その後のインデックス化の解除やデータ削除の対象にはなりません。アクティブなブランチは、非アクティブなブランチに比べて、時間の経過とともに発生するコストが高くなります。

ブランチページで「ブランチをアクティブに維持」を設定する様子。

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

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

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

既知の制限事項

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

AI FDE

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

提案のライフサイクル

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

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