次の方法で共有


CI/CD を Databricks Git フォルダーで実施する

CI/CD フローで Databricks Git フォルダーを使用して、ソース管理の作業を維持し、データ エンジニアリング ワークフローと統合します。 Azure Databricks での CI/CD の広範な概要については、 Azure Databricks の CI/CD に関するページを参照してください。

使用フロー

Git フォルダーの自動化では、初期フォルダー構成と Azure Databricks Repos REST API を中心にして、Azure Databricks ジョブから Git 操作を自動化します。 自動化を構築する前に、次の操作を行います。

  • 使用するリモート Git リポジトリを確認します。
  • 各ステージ (開発、統合、ステージング、運用) に適したリポジトリとブランチを選択します。

主に次の 3 つのフローがあります。

  • 管理者フロー: Azure Databricks ワークスペース管理者は、運用 Git フォルダーをホストするために最上位レベルのフォルダーを作成します。 管理者は、各フォルダーを作成するときにリポジトリとブランチを複製し、目的別に名前を付けることができます (例: "Production"、"Test"、"Staging")。 本番環境の Git フォルダー作成を参照してください。
  • ユーザー フロー: ユーザーは、リモート リポジトリから /Workspace/Users/<email>/ の下に Git フォルダーを作成し、ユーザー固有のブランチで動作し、コミットをリモートにプッシュします。 Git フォルダーを使用した共同作業を参照してください。
  • マージ フロー: Git フォルダーからプッシュすると、ユーザーは pull request (PR) を開きます。 PR がマージされると、Automation は Azure Databricks Repos API を使用して、運用環境の Git フォルダーに変更をプルできます。

Git フォルダーを使用した共同作業

Azure Databricks UI から変更をプルしてプッシュすることで、他のユーザーと共同作業を行います。 一般的なパターンは、機能または開発ブランチを使用して作業を集計することです。

機能ブランチで共同作業を行う方法:

  1. 既存の Git リポジトリを自分の Databricks ワークスペースにクローンします
  2. Git フォルダー UI で、メイン ブランチから機能ブランチを作成 します。 必要に応じて、複数の機能ブランチを使用できます。
  3. リポジトリ内の Azure Databricks ノートブックとその他のファイルを編集します。
  4. 変更をコミットして リモート リポジトリにプッシュします。
  5. 他の共同作成者は、リポジトリを独自のユーザー フォルダーに複製できます。 ブランチで作業し、Git フォルダー内のノートブックとファイルを変更してから、 リモートにコミットしてプッシュ します。
  6. 準備ができたら、Git プロバイダーで PR を作成し、チームと確認し、デプロイ ブランチにマージします。

Databricks では、各開発者が独自のブランチで作業することをお勧めします。 マージの競合を解決する方法については、「 マージの競合を解決する」を参照してください。

CI/CD アプローチを選択する

Databricks は、CI/CD ワークフローをパッケージ化してデプロイするために Databricks アセット バンドル を推奨します。 コードのみをワークスペースにデプロイする場合は、代わりに運用 Git フォルダーを使用できます。 より広範な CI/CD の概要については、 Azure Databricks の CI/CD に関するページを参照してください。

ヒント

バンドルを使用してソース内のジョブやパイプラインなどのリソースを定義し、ワークスペースの Git フォルダーで作成、デプロイ、管理します。 ワークスペースのバンドルでの共同作業を参照してください。

本番環境 Git フォルダーを作成する

運用 Git フォルダーは、 /Workspace/Users/のユーザー レベルの Git フォルダーとは異なります。 ユーザー レベルのフォルダーは、ユーザーが変更を開発してプッシュするローカル チェックアウトです。 運用 Git フォルダーは、ユーザー フォルダーの外部の管理者によって作成され、デプロイ ブランチを保持し、自動化されたワークフローのソースです。 PR をデプロイ ブランチにマージする場合にのみ、自動化によって更新する必要があります。 運用 Git フォルダーを、ほとんどのユーザーの実行専用アクセスに制限します。 管理者と Azure Databricks サービス プリンシパルのみに編集を許可します。

リモート リポジトリのメイン ブランチにマップされた Git 運用フォルダー。

運用 Git フォルダーを作成するには:

  1. デプロイ用の Git リポジトリとブランチを選択します。

  2. サービス プリンシパルを作成または使用し、そのリポジトリにアクセスできるように Git 資格情報を構成します。

  3. リポジトリとブランチの Azure Databricks Git フォルダーを ワークスペース の下のサブフォルダー (プロジェクト、チーム、ステージごとなど) に作成します。

  4. フォルダーを選択し、[ 共有 ] を選択します (または、ワークスペース ツリーで [ 共有 ( アクセス許可)] を右クリックします)。

  5. アクセス許可レベルを割り当てます。

    • ワークフローを実行する必要があるプロジェクト ユーザーに対して実行できます
    • このフォルダーに対して自動化を実行する任意の Azure Databricks サービス プリンシパルに対して実行できます
    • 必要に応じて、検出と共有をサポートするすべてのワークスペース ユーザーを 表示できます

    [Git フォルダーの共有] モーダル ダイアログ ウィンドウ。

  6. 追加をクリックします。

  7. 次のいずれかのオプションを使用して、運用 Git フォルダーをリモート ブランチと同期したままにします。

    • 外部 CI/CD: GITHub Actions などのツールを使用して、PR がデプロイ ブランチにマージされたときに最新のコミットをプルします。 例については、「 Git フォルダーを更新する CI/CD ワークフローを実行する」を参照してください
    • スケジュールされたジョブ: 外部 CI/CD を使用できない場合は、Git フォルダーを更新するスケジュールされたジョブを実行します。 スケジュールに従って実行される単純なノートブックを使用します。
    from databricks.sdk import WorkspaceClient
    w = WorkspaceClient()
    w.repos.update(w.workspace.get_status(path="<git-folder-workspace-full-path>").object_id, branch="<branch-name>")
    

Repos API を使用した自動化の詳細については、Repos の Databricks REST API ドキュメントを参照してください。