web-dev-qa-db-ja.com

機能と構成管理

Drupal 8サイトを構築しています。構成管理または機能を使用して構成をエクスポートし、プロファイルに含める必要がある場合は、常に調査を行っています。構成管理で構成をエクスポートおよびインポートするにはあるサイトから別のサイトへ、サイトは同じUUIDを持っている必要があります。つまり、サイトはお互いのクローンである必要があります。これを行うには2つの方法があります。

  1. 同じUUIDを取得するために、あるサイトから別のサイトにDBのクローンを作成します
  2. プログラムでUUIDを変更して、構成のUUIDと一致させる

作成するサイトには独自のプロファイルがインストールされており、私の意図は、構成または機能をプロファイル内に保持することです。私はすでにプロファイルインストールを作成しましたが、次のことができるように、UUIDに依存しない方法で構成を含める必要があります。

  1. プロファイルインストールを使用して新しい開発環境を起動する
  2. 新しい機能を開発する
  3. プロファイルの新しい機能をエクスポートする
  4. それを製品に展開し、サイトを再インストールせずに新しい機能を適用します

構成をエクスポートしてプロファイルに追加するにはどうすればよいですか?構成管理を使用してUUIDを手動で削除する必要がありますか、それともフィーチャーを使用してプロファイルに追加する必要がありますか?

機能モジュールを使用して、機能の宛先を設定できません。すべての機能をprofiles/my_profile/featureに配置したいと思います。それを作成すると、宛先を設定できないため、モジュール/カスタムに保存されます。私はそれをmodules/customからprofile/my_profile/featuresに手動で移動しました。更新した場合、移動した機能は更新されませんが、modules/customの下に同じ名前の新しい機能が作成されます。カスタム宛先を設定するにはどうすればよいですか?

8
Tyler Durden

機能を使用することをお勧めします。これにより、機能をエクスポートして区分けするのがはるかに簡単になるだけでなく、後で外部ソースから機能を取り込んだり、インストールプロファイルで開始しなかった別のサイトで特定の機能を使用したりすることもできます。 。

現在、機能のカスタムパス生成をサポートする問題があります: https://www.drupal.org/node/269312

それが解決されると、選択したパスに機能を生成できます。とりあえず、結果を生成し、モジュール/カスタムから取得して、生成された機能モジュールをプロファイルに配置できます。

4
Kevin

同化/考慮のためのいくつかの反対引数情報を追加します。

機能モジュールのメンテナ Mike Potter機能モジュールの使用をやめる として人々に奨励しています...

機能モジュールは実際には不要になり、構成の展開に使用しないでください。ただし、機能は依然として構成を管理するための強力なUIおよびプラグインシステムを提供し、構成アクションなどの新しいモジュールと組み合わせることで、最終的に再利用可能な機能をパッケージ化するという夢を実現する可能性があります。

1
Michael Stilson