注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
このページでは、Code Repositories におけるさまざまなブランチ設定について説明します。
複数のブランチを持つ Code Repositories では、ベースブランチとしてデフォルトブランチを設定できます。デフォルトでは、すべてのプルリクエストとコミットはそのブランチに対して行われますが、別のブランチを選択することも可能です。通常、デフォルトブランチは master
ブランチです。
Code Repository のメインブランチを選択するには、Settings > Branches > Default branch
に移動します。
プルリクエストで提案されたコード変更をマージするためのいくつかの戦略があります。設定タブでは、プルリクエストページでコード作者に利用可能なマージモードを1つ以上選択できます。
選択されたすべてのマージモードはプルリクエストページにオプションとして表示されます。もし "Squash-and-merge" モードが選択されている場合、これがメインオプションとして表示され、他の選択されたモードはメニューで利用可能です。
複数の作者が同じコードリポジトリに貢献している場合、またはリポジトリが重要なデータ資産をバックしている場合、ブランチを保護してガバナンスと意図しない変更に対する防御を強化できます。保護されたブランチはプルリクエストを介してのみ変更でき、事前に定義された要件を満たす必要があります。
デフォルトでは、Code Repository の所有者のみがブランチ保護設定を変更でき、所有者と編集者の両方が保護されたブランチへのプルリクエストをマージできます。権限に関係なく、すべてのコード作者は保護されたブランチのポリシーに従う必要があります。
ブランチ設定パネルでは、以下の要件を設定できます。
データに変更を公開するには、継続的インテグレーションプロセス ci/foundry-publish
が正常に実行され、完了する必要があります。これが正常に完了する前に変更をマージすると、変更が有効になる保証はないため、保護されたブランチの要件としてこれを推奨します。
重要なブランチを保護する利点の1つは、コード変更を本番環境にマージする前に協業者のレビューを受けることができる点です。変更をマージする権限を持つ誰もがプルリクエストでレビューを提出できます(デフォルトでは、リポジトリの所有者と編集者)。
以下のレビュー方針を強制できます。
プルリクエストをマージする前に、特定のユーザーやグループからの承認を要求できます。グループの要件を満たすためには、グループの少なくとも1人のメンバーがプルリクエストを承認する必要があります。このポリシーは、承認が受けられた限り拒否を許可します。例えば、グループの1人が変更を拒否し、別のメンバーが承認した場合、「拒否なし」のポリシーが適用されない限り、承認が拒否を上回ります。
ユーザー/グループの承認を要求することは、彼らにプルリクエストをレビューする権限を与えるものでは ありません。必ず、必要なレビュアーが Code Repository にアクセスできることを確認してください。
高度なプルリクエスト承認ポリシーは、プルリクエストで変更されたファイルに基づいてレビューが必要なユーザーとグループを決定します。保護されたブランチのブランチ設定で Edit を選択し、次に Advanced approval policy を選択してポリシーの設定を開始します。
Edit policy タブでは、フォームベースのエディタを提供します。高度な承認ポリシーは、ALL
または ANY
などのルールの論理演算子をグループ化します。ルールを選択して、そのメタデータ、例えばルールの名前や説明を提供します。Rule applies conditionally をオンにして、プルリクエストで変更されたファイルが特定の正規表現に一致する場合のみこのルールを適用するようにします。例えば、Python トランスフォームの典型的なフォルダー構造では、["transforms-python/src/myproject/datasets/.*\\.py"]
が datasets フォルダー内のすべての Python ファイルに一致します。
View YAML タブでは、ポリシーの YAML 表現を直接変更、コピー、貼り付けできます。これにより、ポリシーの一括編集(例えば、検索用語の検索と置換)を行うのに便利です。
ブランチで セキュリティマーキング の伝播を停止するには、そのブランチを保護する必要があります。一度セキュリティ変更がリポジトリで有効になると、プルリクエストをマージする前に自動的かつ不変にセキュリティチェックと承認(必要な場合)が要求されます。詳細については、継承されたマーキングの削除を参照してください。
所有者は Code Repository の設定からブランチの保護を解除できます。ただし、マーキングの伝播を停止したなどのアクティブなセキュリティ変更があるブランチは、セキュリティ変更がなくなるまで保護を解除できません。アクティブなセキュリティ変更があるブランチを保護解除するには、プルリクエストを通じて変更を削除する必要があります。その後、Code Repository の設定からブランチの保護を解除できます。
Code Repositories では、任意のブランチでデータセットを構築し、ユーザーのトランスフォームがデータに与える影響を確認できます。現在のブランチでトランスフォームの入力データセットが構築されていない場合、代わりに フォールバックブランチ のリストから構築済みのバージョンを見つける試みが行われます。デフォルトブランチは自動的にフォールバックブランチとして設定されますが、設定を変更することも可能です。必要に応じて、各ブランチに異なるフォールバックブランチを設定し、複数のフォールバックを設定することもできます。
この設定は、設定されている Code Repository 内でのビルドおよびアクションにのみ適用されます。他の Foundry アプリケーションやリポジトリ外でトリガーされたビルド(例えば、スケジュールビルド)には影響しません。