自動更新#
Lagoonは、Drupalのコア部分やcontribモジュールの更新方法の一部と互換性がありません。Lagoonは変更できないイメージを構築し、変更できないコンテナを実行することを想定しています。アプリケーションのコードが実行時に変更されると、以下の問題が発生する可能性があります。
- コンテナの再起動による変更の消失: コンテナはKubernetesによって自動的に管理されており、いつでも移動、再起動、スケーリングされる可能性があります。これが発生すると、最初に構築されたコンテナイメージが実行され、実行時に加えられた変更はすべて失われます。
- タスクとCronジョブの問題: タスクやCronジョブは最初に構築されたコンテナイメージで実行されるため、更新されたコードにアクセスできません。
- 読み取り専用ファイルシステムによる更新の制限: 更新にはファイルシステムへの書き込み権限が必要ですが、読み取り専用ファイルシステムを強制する環境を構成することが可能です。
- 複数コンテナ更新時の不一致: ベストプラクティスでは、それぞれ単一の機能を持つ小さなコンテナをデプロイすることを推奨します。一般的なDrupalプロジェクトでは、コードのコピーを含む
cli
、php
、nginx
のコンテナが3つ存在します。これらのコンテナのうち1つだけを更新すると、コードの不一致による問題が発生します。
Lagoonでは以下の更新方法が無効化されています。
Drupal 自動更新#
Drupal 自動更新モジュール:contribモジュールの[自動更新] (https ://www.drupal.org/project/automatic_updates)は無効化されており、Drupalコアに移行しても無効化されます。
Drush#
drush pm-install
またはdrush pm-update
コマンドは、amazeeio/drupal-integrationsパッケージの一部としてデフォルトで無効化されています。