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

関数のブランチ化

グローバルブランチ上で関数を開発、公開、利用できます。現在、TypeScript v1、TypeScript v2、Python、AIP Logic、および直接モデルデプロイのモデル関数でサポートされています。

関数を開発する

グローバルブランチ上で関数を開発する前に、リポジトリが次の要件を満たしていることを確認してください。

  • TypeScript v1 で Global Branching を使用するには、functions-typescript 子テンプレートをバージョン 0.903.0 以降にアップグレードします。
  • TypeScript v2 で Global Branching を使用するには、typescript-functions 親テンプレートをバージョン 0.1299.0 以降にアップグレードし、ローカルオントロジー SDK を有効にします。
  • Python で Global Branching を使用するには、python-functions 親テンプレートをバージョン 0.724.0 以降にアップグレードし、ローカルオントロジー SDK を有効にします。

手順については、リポジトリのアップグレードに関するドキュメントを参照してください。

新しく作成または変更されたオントロジーリソースなど、グローバルブランチ上のリソースに加えられた変更に依存する関数を開発できます。

ブランチ上での新しい関数の開発。

準備ができたら、対象バージョンを指定して関数を公開します。これは、グローバルブランチのマージ時に main に公開される安定バージョンです。このブランチでの開発中、関数は不安定なプレビューバージョンとして公開されます。

ブランチ上での関数の公開。

ブランチ上で関数を正常に公開すると、このブランチ上の Workshop、AIP Logic、および関数ベースのアクションで、新しい関数バージョンを使用できます。この関数バージョンには、ブランチ化されたプレリリースタグが付けられます。このブランチ上で公開された関数には、main を含むほかのブランチからはアクセスできません。

Workshop でのブランチ化された関数の使用。

アクションでのブランチ化された関数の使用。

現在、TypeScript v1、TypeScript v2、または Python のリポジトリでは、ブランチ化されたバージョンのクエリ関数に依存することはできません。

このブランチで開発を続ける間、同じ対象バージョンに対して関数バージョンを引き続き公開できます。対象バージョンが変わらない限り、その関数を使用するリソースは、公開済みの最新バージョンを自動的に取得します。これにより、公開のたびに関数への参照を手動で更新せずに、すばやく反復開発できます。

ブランチ上の対象バージョンが変わった場合は、ブランチ上で古いバージョンを使用していた、その関数に依存するすべてのリソースを更新し、新しい対象バージョンを使用するようにする必要があります。これはチェックとしても表示されます。

直接モデルデプロイの関数

グローバルブランチ上で直接モデルデプロイのモデル関数を公開すると、Foundry は -branch-YYYYMMDD-HHMMSS 形式のバージョン接尾辞を持つ、ブランチローカルの関数バージョンを作成します。このバージョンを表示するには、モデルを開き、ライブデプロイ、概要の順に選択します。バージョンは関数セクションに表示されます。この関数バージョンは、同じグローバルブランチ上の対応アプリケーションで使用できますが、main やほかのブランチからは利用できません。

Foundry は、グローバルブランチ上でのみブランチローカルのモデル関数バージョンをサポートします。グローバルブランチに関連付けられていないモデルブランチでは、ブランチローカルの関数バージョンを公開できません。

直接モデルデプロイの設定とモデル関数をまとめてレビューし、マージできます。提案がマージされると、Foundry は選択されたブランチローカルの関数設定を、安定した関数バージョンとして main に公開します。対象の安定バージョンがすでに main に公開されている場合は、マージする前にデプロイ設定をリベースしてください。

直接モデルデプロイの設定を追加、レビュー、リベース、マージする手順については、直接モデルデプロイのブランチ化を参照してください。

競合の解決と関数のリベース

ブランチ上で開発している間は、main に公開された、より新しい関数バージョンは自動的には取り込まれません。これにより、メインブランチでの開発がこのブランチでの作業を妨げるのを防ぎます。main でより新しいバージョンが利用可能な場合は、関数バージョンセレクターと Ontology Manager に通知が表示されます。その後、関数バージョンをリベースして、main からより新しいバージョンをすべて取り込むことができます。

関数のリベースダイアログ。

開発中に対象バージョンが main に公開された場合は、マージする前に新しい対象バージョンを選択する必要があります。選択したら、依存するリソースを更新し、新しい対象バージョンを使用するようにします。

マージする

グローバルブランチをマージすると、変更された関数は安定した対象バージョンで main に公開されます。このブランチ上で公開されたバージョンを使用しているリソースは、マージの一環として main に公開された新しい安定バージョンの使用を自動的に開始します。

Foundry は対象バージョンのみを main にマージし、ブランチ上で公開されたほかのバージョンはマージしません。このブランチのマージ後、それらのバージョンは main には存在しません。