次の方法で共有


Microsoft Fabric の Data Factory パイプライン用の CI/CD

Fabric Data Factory では、継続的インテグレーションと継続的開発 (CI/CD) によって、コード変更の統合、テスト、デプロイが自動化され、効率的で信頼性の高い開発が保証されます。

Fabric では現在、アプリケーション ライフサイクル管理 (ALM) チームとの共同作業の下、Git 統合とデプロイ パイプラインという 2 つの機能がサポートされています。 これらの機能を使用すると、ユーザーは個々の更新と共にワークスペース リソースをインポート/エクスポートすることができます。

Fabric Data Factory CI/CD ソリューションは、ARM テンプレートのエクスポート手法を使用したファクトリ全体の更新が推奨される Azure Data Factory モデルから逸脱しています。 この手法の変更により、お客様はファクトリ全体を一時停止することなく、更新するパイプラインを選択的に選択できます。 Git 統合 (独自の Git 持ち込み) と展開パイプライン (組み込みの CI/CD) の両方で、1 つの環境に関連付けられた 1 つのワークスペースの概念が使用されます。 開発、テスト、運用など、さまざまな環境に異なるワークスペースをマップする必要があります。

開発者が CI/CD を使用する理由

CI/CD は、ソフトウェアの配信を自動化するプラクティスであり、いくつかの重要な問題点を解決します。

  • 手動による統合の問題: CI/CD がなければ、コードの変更を手動で統合すると、競合やエラーが発生し、開発が遅れるおそれがあります。
  • 開発の遅延: 手動によるデプロイは時間がかかり、エラーが発生しやいため、新しい機能や更新の提供が遅れる原因になります。
  • 一貫性のない環境: 環境 (開発、テスト、運用) が異なると、不整合が発生し、デバッグが困難な問題が発生するおそれがあります。
  • 可視性の欠如: CI/CD がなければ、変更を追跡し、コードベースの状態を把握することが困難になるおそれがあります。

CI/CD、Git、デプロイ パイプラインについて

CI/CD は、継続的インテグレーションと継続的デプロイで構成されます。

継続的インテグレーション (CI)

開発者は、Git で管理されるメイン ブランチに頻繁にコミットし、統合のために自動テストとビルドをトリガーします。 Git で変更が追跡され、新しいコミットの自動フェッチと自動テストが有効になります。

継続的デプロイ (CD)

デプロイ パイプライン内の構造化されたデプロイ ステージを通じて、運用環境の開発に検証済みの変更をデプロイすることに重点を置いています。

Data Factory パイプラインとの Git 統合

Git はバージョン管理システムであり、開発者がコードベース (パイプラインの場合は JSON コード定義) の変更を追跡し、他のユーザーと共同作業できるようにします。 一元化されたリポジトリが提供され、コードの変更はここに格納され、管理されます。 Fabric では現在、GitHub または Azure DevOps を介して Git がサポートされています。 Git を使用する際に理解する必要がある重要なワークフローがいくつかあります。

  • メイン ブランチ: メイン ブランチ ("マスター ブランチ" と呼ばれる場合もあります) には、運用環境に対応したコードが保持されています。
  • 機能ブランチ: これらのブランチはメイン ブランチとは別個のもので、開発を分離して、メイン ブランチを変更せずに開発できるようにします。
  • プル要求 (PR): PR を使用すると、ユーザーは、統合前に変更の提案、レビュー、議論を行うことができます。
  • マージ: これは、変更が承認されたときに発生します。 Git でこれらの変更が統合され、プロジェクトが継続的に更新されます。

Git 用のデプロイ パイプライン

デプロイ パイプラインは、Git と緊密に統合されています。 開発者がコード変更を Git リポジトリにプッシュすると、CI/CD パイプラインがトリガーされます。 この統合により、最新のコード変更が常にテストされ、自動的にデプロイされます。

ステージとジョブ

デプロイ パイプラインは、複数のステージと各ステージ内のジョブで構成されます。 通常、これらのステージは、開発 (コードのコンパイル)、テスト (テストの実行)、運用 (アプリケーションのデプロイ) の 3 つの環境に分けられます。 パイプラインはこれらの各ステージを通過し、コードの徹底的なテストとデプロイが制御された方法で確実に行われるようにします。

自動化されたワークフロー

デプロイ パイプラインによって、コードのビルド、テスト、デプロイのプロセス全体が自動化されます。 この自動化により、人為的なエラーの削減と開発プロセスの迅速化が実現し、コード変更が一貫した信頼性の高い方法で運用環境に確実に提供されます。

Data Factory パイプラインの Git 統合を開始する

Data Factory パイプラインの Git 統合を設定するには、次の手順を実行します。

Git 統合の前提条件

Microsoft Fabric ワークスペースを使用して Git にアクセスするには、以下の Fabric と Git の両方に関する前提条件について確認してください。

手順 1: Git リポジトリに接続する

Fabric の Data Factory パイプラインで Git 統合を使用するには、以下で説明するように、まず Git リポジトリに接続する必要があります。

  1. Fabric にサインインし、Git へ接続させたいワークスペースに移動します。

  2. [ワークスペースの設定] を選択します。

    Fabric UI 内の [ワークスペース] 設定を選択する場所を示すスクリーンショット。

  3. [Git 統合] を選択します。

  4. Git プロバイダーを選択します。 現在、Fabric でサポートされているのは Azure DevOps または GitHub だけです。 GitHub を使用する場合は、[アカウントの追加] を選択して GitHub アカウントを接続する必要があります。 サインインした後、 接続 を選択して、Fabric が GitHub アカウントにアクセスできるようにします。

    Fabric ワークスペースの Git 統合用に GitHub アカウントを追加する場所を示すスクリーンショット。

手順 2: ワークスペースに接続する

Git リポジトリに接続したら、以下で説明するようにワークスペースに接続する必要があります。

  1. ドロップダウン メニューから、接続するブランチに関する以下の詳細情報を指定します。

    1. Azure DevOps ブランチ接続の場合は、以下の詳細を指定します。

      • 組織: Azure DevOps 組織名。
      • プロジェクト: Azure DevOps プロジェクト名。
      • リポジトリ: Azure DevOps リポジトリ名。
      • ブランチ: Azure DevOps ブランチ名。
      • フォルダー: Azure DevOps フォルダー名。
    2. GitHub ブランチ接続の場合は、以下の詳細を指定します。

      • リポジトリ URL: GitHub リポジトリの URL。
      • ブランチ: GitHub ブランチ名。
      • フォルダー: GitHub フォルダー名。
  2. [接続と同期] を選択します。

  3. 接続が完了すると、ワークスペースにソース管理に関する情報が表示され、それによってユーザーは接続されたブランチ、ブランチ内の各アイテムの状態、最後の同期時刻を確認できます。

    Fabric ワークスペースと、パイプラインに関して報告される Git の状態およびその他の詳細を示すスクリーンショット。

手順 3: Git に変更をコミットする

Git リポジトリとワークスペースに接続すると、ここで説明するように、Git に変更をコミットできます。

  1. ワークスペースに移動します。

  2. [ソース管理] アイコンを選びます。 このアイコンは、コミットされていない変更の数を示します。

    Fabric ワークスペース UI の [ソース管理] ボタンのスクリーンショット。

  3. [ソース管理] パネルから [変更] タブを選択します。 変更したすべての項目と、状態を示すアイコン (新規変更済み競合、または 削除済み) を含む一覧が表示されます。

  4. コミットする項目を選択します。 すべての項目を選択するには、上部のボックスにチェックを入れます。

  5. "(省略可能)" ボックスにコミット コメントを追加します。

  6. [コミット] を選択します。

    Git コミットの [ソース管理] ダイアログのスクリーンショット。

変更がコミットされると、コミットされた項目はリストから削除され、ワークスペースは同期先の新しいコミットを指すようになります。

手順 4: ("省略可能") Git からワークスペースを更新する

  1. ワークスペースに移動します。

  2. [ソース管理] アイコンを選びます。

  3. [ソース管理] パネルで [更新] を選択します。 前回の更新以降に Git 接続ソースからブランチで変更されたすべての項目を含む一覧が表示されます。

  4. [すべて更新] を選択します。

    Fabric UI の [ソース管理] ダイアログの [更新] タブを示すスクリーンショット。

更新が正常に完了すると、項目の一覧が削除され、ワークスペースは同期先の新しいコミットを指すようになります。

Git 用のデプロイ パイプラインの使用を開始する

以下の手順を実行して、Fabric ワークスペースで Git デプロイ パイプラインを使用します。

デプロイ パイプラインの前提条件

作業を開始する前に、必ず以下の前提条件を設定してください。

手順 1: デプロイ パイプラインを作成する

  1. [ワークスペース] ポップアップから、[デプロイ パイプライン] を選択します。

    Fabric UI の [ワークスペース] ポップアップと [デプロイ パイプライン] ボタンを示すスクリーンショット。

  2. [パイプラインの作成] または [+ 新しいパイプライン] を選択します。

手順 2: パイプラインに名前を付けてステージを割り当てる

  1. [デプロイ パイプラインの作成] ダイアログ ボックスで、パイプラインの名前と説明を入力して、[次へ] を選びます。

  2. 展開パイプラインに必要なステージを定義して、展開パイプラインの構造を設定します。 既定では、パイプラインには "開発"、"テスト"、"運用" という 3 つのステージがあります。

    デプロイ パイプラインの既定のステージを示すスクリーンショット。

    別のステージを追加したり、ステージを削除したり、ボックスに新しい名前を入力して名前を変更したりできます。 完了したら、[作成] (または [作成して続行]) を選択します。

    設定されたサンプルのデプロイ パイプラインを示すスクリーンショット。

手順 3: ワークスペースをデプロイ パイプラインに割り当てる

パイプラインを作成したら、管理したいコンテンツをパイプラインに追加する必要があります。 パイプラインにコンテンツを追加するには、パイプライン ステージにワークスペースを割り当てます。 ワークスペースはどのステージにも割り当てることができます。 指示に従ってワークスペースをパイプラインに割り当てます

手順 4: 空のステージにデプロイする

  1. あるパイプライン ステージでのコンテンツの作業が完了したら、それを次のステージにデプロイできます。 デプロイ パイプラインには、コンテンツのデプロイに関して次の 3 つのオプションが用意されています:

    • 完全なデプロイ: すべてのコンテンツをターゲット ステージにデプロイします。
    • 選択的デプロイ: どのコンテンツをターゲット ステージにデプロイするかを選択します。
    • 逆方向デプロイ: パイプライン内の後方のステージから前方のステージに向かってコンテンツをデプロイします。 現在、逆方向のデプロイは、ターゲット ステージが空の (ワークスペースが割り当てされていない) 場合にのみ可能です。
  2. コンテンツのデプロイ方法を選択したら、デプロイを確認しメモを残すことができます。

手順 5: あるステージから別のステージにコンテンツをデプロイする

  1. パイプライン ステージにコンテンツを含めたら、次のステージのワークスペースにコンテンツが含まれている場合でも、次のステージに配置できます。 ペアになっている項目 は上書きされます。 このプロセスの詳細については、「既存ワークスペースへのコンテンツのデプロイ」セクションで確認できます。
  2. デプロイ履歴を調べて、各ステージにコンテンツが最後にデプロイされた時刻を確認できます。 デプロイする前に 2 つのパイプラインの違いを確認するには、「異なるデプロイ ステージのコンテンツの比較」を参照してください。

既知の制限事項

Microsoft Fabric の Data Factory パイプライン用の CI/CD には、以下の既知の制限事項が適用されます。

  • ワークスペース変数: CI/CD では現在、ワークスペース変数はサポートされていません。
  • Git 統合のサポートの制限: 現時点で Fabric でサポートされているのは、Azure DevOps と GitHub を使用した Git 統合だけです。 GitHub による Git 統合にはより多くの制限が存在するため、Azure DevOps による Git 統合が推奨されます。
  • OAuth コネクタを使用したパイプライン アクティビティ: MS Teams および Outlook コネクタの場合、上位環境にデプロイするには、ユーザーが各パイプラインを手動で開き、各アクティビティにサインインする必要があります。これは現在の制限事項です。
  • データフローを呼び出すパイプライン: データフローを呼び出すパイプラインが昇格された場合でも、前のワークスペースのデータフローが参照されます。これは正しくありません。 この動作は、データフローがデプロイ パイプラインで現在サポートされていないために発生します。