bmeme.drupal

ワークフロー メンテナンス中 MITライセンス

Ansible ロール: Drupal

Drupal プロジェクトを作成、インストール、ビルドします。

これはBmemeによって作成された最初の公開Ansibleロールで、私たちのDrupal開発プロセスで実際に使用されています。
他の素晴らしいロールに触発されて作られました:

要件

このロールを正しく使用するには、古典的なLAMP/LEMPスタックが必要です:

  • 標準のWebサーバー (ApacheまたはNginxを推奨)
  • MySQL/PostgreSQLデータベース
  • PHPインタープリター (7.xまたは最新バージョン)
  • Composer (推奨 geerlingguy.composer)

Drush は、このロールがあなたのDrupalプロジェクトに提供する必要な依存関係です。

依存関係

  • community.mysql コレクション
  • community.general コレクション

インストール

これはAnsible Galaxyを使用して配布されるAnsibleロールです。このロールをインストールするには、以下のコマンドを使用できます。

$ ansible-galaxy install bmeme.drupal

更新

ロールを更新したい場合は、インストール時に --force パラメータを渡す必要があります。以下のコマンドを確認してください:

$ ansible-galaxy install --force bmeme.drupal

プレリリースバージョン

このロールには、異なるワークフローと変数スキーマを使用するプレリリースバージョン(0.5-beta1と呼ばれる)が存在します。このバージョンは完全に廃止されたもので、Bmemeでは後方互換性のためにのみ使用されており、__使用しないでください__!

ロール変数

利用可能な変数:

変数名 説明 デフォルト
drupal_project_dir Drupalプロジェクトがインストールされる絶対パス /var/www/html
drupal_project_owner プロジェクト所有者のシステムユーザー www-data
drupal_project_group プロジェクト所有者のシステムグループ www-data
drupal_project_composer_project 新たにインストールするために使用するDrupalのcomposerプロジェクト drupal/recommended-project
drupal_project_web_root Drupalコアが格納されているディレクトリ。Drupalディストリビューションによって異なることがあります。 web
drupal_site_name Drupalサイトの名前。Drupalインストール時にdrushによって使用されます。 Your new Drupal instance
drupal_site_mail Drupalサイトのメール。Drupalインストール時にdrushによって使用されます。 [email protected]
drupal_site_lang Drupalサイトのデフォルト言語。Drupalインストール時にdrushによって使用されます。 en
drupal_account_mail Drupalアカウントのメール。Drupalインストール時にdrushによって使用されます。 drupal_site_mailと同じ
drupal_account_name Drupalアカウントの名前。Drupalインストール時にdrushによって使用されます。 admin
drupal_account_pass Drupalアカウントのパスワード。Drupalインストール時にdrushによって使用されます。 admin
drupal_db_schema Drupalが使用するデータベーススキーマ。選択肢: mysqlまたはpgsql mysql
drupal_db_name データベース名。Drupalインストール時にdrushによって使用されます。 drupal
drupal_db_user データベースユーザー。Drupalインストール時にdrushによって使用されます。 drupal
drupal_db_pass データベースユーザーのパスワード。Drupalインストール時にdrushによって使用されます。 drupal
drupal_db_host データベースホストアドレス。Drupalインストール時にdrushによって使用されます。 127.0.0.1
drupal_db_port データベースホストポート。Drupalインストール時にdrushによって使用されます。 3306
drupal_profile Drupalインストールプロファイル。このバグを参照 minimal
drupal_composer_nodev Composer "nodev" オプション。ブール型 false
drupal_composer_prefer_dist Composer "prefer-dist" オプション。ブール型 false
drupal_composer_scaffold_nonamespace 名前空間なしでComposerを使用してDrupalスカフォールドをインストール。ブール型 false

ワークフロー

このロールは3つの主要なタスクを実行します:

  • create: Composerを使ってDrupalの新しいプロジェクトを作成します。drupal_project_composer_project変数を使ってComposerプロジェクトをカスタマイズできます。このロールは既存のDrupalプロジェクトがある場合、それを自動的に認識し、このタスクセットをスキップします。
  • install: Drushを使ってDrupalインスタンスをインストールします。プロセスの最後に、Drupalの設定は自動的に{{ drupal_project_dir }}/config/syncディレクトリにエクスポートされます。このロールは既存のDrupalインストールがある場合、それを自動的に認識し、このタスクセットをスキップします。
  • build: 既存のエクスポートされた設定からDrushを使ってDrupalインスタンスをビルドします。設定を自動的に認識し、ビルドタスクを実行します。

初めからスタートする場合、createinstall タスクのみを実行します。

フック

利用可能なフックを使用してカスタムタスクを追加できます:

  • drupal_before_create: create タスクセットの前に実行されます。既にDrupalプロジェクトがある場合、このフックはスキップされます。
  • drupal_after_create: create タスクセットの後に実行されます。既にDrupalプロジェクトがある場合、このフックはスキップされます。
  • drupal_before_install: install タスクセットの前に実行されます。既にDrupal設定がある場合、このフックはスキップされます。
  • drupal_after_install: install タスクセットの後に実行されます。既にDrupal設定がある場合、このフックはスキップされます。
  • drupal_before_build: build タスクセットの前に実行されます。Drupal設定がない場合、このフックはスキップされます。
  • drupal_after_build: build タスクセットの後に実行されます。Drupal設定がない場合、このフックはスキップされます。

Bmemeの作業方法

Bmemeはこのロールを使用して、Drupalプロジェクトの作成/インストール/ビルド操作を自動化します。私たちは、ローカルとリモートテストインスタンスの両方で開発環境としてDockerを使用しています。このロールは、ここで入手できるDockerイメージphp内で実行されます。同じイメージは、molecule テストのロールでも使用されます。

依存関係

該当なし

例プレイブック

- hosts: webserver
  vars_files:
    - vars/main.yml
  roles:
    - geerlingguy.apache
    - geerlingguy.mysql
    - geerlingguy.php-versions
    - geerlingguy.php
    - geerlingguy.php-mysql
    - geerlingguy.composer
    - bmeme.drupal

vars/main.ymlの中では:

drupal_project_dir: /path/to/my/project
drupal_site_name: My Awesome Drupal instance
drupal_after_build: "tasks/my-after-build-tasks.yml"

特定のDrupalディストリビューション(例えば、Lightning)をインストールするためにこのロールを使用したい場合は:

- hosts: webserver
  vars_files:
    - vars/main.yml
  roles:
    - geerlingguy.apache
    - geerlingguy.mysql
    - geerlingguy.php-versions
    - geerlingguy.php
    - geerlingguy.php-mysql
    - geerlingguy.composer
    - bmeme.drupal
      drupal_project_composer_project: "acquia/lightning-project:8.8.1"

ライセンス

MIT/BSD

著者情報

このロールは2020年にBmemeによって作成されました。

プロジェクトについて

Creates a Drupal project via composer, install it and re-build it by configs

インストール
ansible-galaxy install bmeme.drupal
ライセンス
mit
ダウンロード
66.2k
所有者
Digital Factory