bmeme.drupal

Przepływ pracy Utrzymanie Licencja MIT

Rola Ansible: Drupal

Tworzenie, instalowanie i budowanie projektu Drupal.

To jest pierwsza opublikowana Rola Ansible stworzona przez Bmeme, aktualnie wykorzystywana w naszym procesie rozwoju Drupala. Została zainspirowana innymi rolami, które zazwyczaj używamy/które były świetne:

Wymagania

Aby prawidłowo używać tej roli, potrzebujesz klasycznego stosu LAMP/LEMP:

  • standardowy serwer WWW (zalecane Apache lub Nginx)
  • baza danych MySQL/PostgreSQL
  • interpreter PHP (7.x lub nowszy)
  • Composer (zalecane geerlingguy.composer)

Drush to zależność, która będzie dostarczona w twoim projekcie Drupal.

Zależności

  • kolekcja community.mysql
  • kolekcja community.general

Instalacja

To jest rola Ansible dystrybuowana za pomocą Ansible Galaxy. Aby zainstalować tę rolę, możesz użyć następującego polecenia.

$ ansible-galaxy install bmeme.drupal

Aktualizacja

Jeśli chcesz zaktualizować rolę, musisz dodać parametr --force podczas instalacji. Sprawdź następujące polecenie:

$ ansible-galaxy install --force bmeme.drupal

Wersja przedpremierowa

Ta rola ma wersję przedpremierową (nazywaną 0.5-beta1), która używa innego przepływu pracy i innej struktury zmiennych. Ta wersja jest całkowicie przestarzała i używana w Bmeme tylko dla zapewnienia zgodności wstecznej, nie używaj jej!

Zmienne Roli

Dostępne zmienne:

Nazwa zmiennej Opis Domyślnie
drupal_project_dir Absolutna ścieżka, w której projekt Drupal jest lub ma być zainstalowany /var/www/html
drupal_project_owner Użytkownik systemowy, który posiada projekt www-data
drupal_project_group Grupa systemowa, która posiada projekt www-data
drupal_project_composer_project Projekt composer Drupal, którego chcesz użyć do świeżej instalacji drupal/recommended-project
drupal_project_web_root Katalog, w którym znajduje się rdzeń Drupal. Może zależeć od dystrybucji Drupala. web
drupal_site_name Nazwa witryny Drupal. Używana przez drush podczas instalacji Drupala. Twoja nowa instancja Drupal
drupal_site_mail E-mail witryny Drupal. Używany przez drush podczas instalacji Drupala. [email protected]
drupal_site_lang Domyślny język witryny Drupal. Używany przez drush podczas instalacji Drupala. en
drupal_account_mail E-mail konta Drupal. Używany przez drush podczas instalacji Drupala. taki sam jak drupal_site_mail
drupal_account_name Nazwa konta Drupal. Używana przez drush podczas instalacji Drupala. admin
drupal_account_pass Hasło konta Drupal. Używane przez drush podczas instalacji Drupala. admin
drupal_db_schema Schemat bazy danych używany przez Drupal. Dostępne opcje: mysql lub pgsql mysql
drupal_db_name Nazwa bazy danych. Używana przez drush podczas instalacji Drupala. drupal
drupal_db_user Użytkownik bazy danych. Używany przez drush podczas instalacji Drupala. drupal
drupal_db_pass Hasło użytkownika bazy danych. Używane przez drush podczas instalacji Drupala. drupal
drupal_db_host Adres hosta bazy danych. Używany przez drush podczas instalacji Drupala. 127.0.0.1
drupal_db_port Port hosta bazy danych. Używany przez drush podczas instalacji Drupala. 3306
drupal_profile Profil instalacji Drupal. Zobacz ten błąd minimal
drupal_composer_nodev Opcja composer "nodev". Boolean false
drupal_composer_prefer_dist Opcja composer "prefer-dist". Boolean false
drupal_composer_scaffold_nonamespace Użyj composer bez przestrzeni nazw do instalacji Drupal Scaffold. Boolean false

Przepływ pracy

Ta rola wykonuje trzy główne zadania:

  • create: Tworzy nowy projekt Drupal za pomocą composera: możesz dostosować projekt composer, używając zmiennej drupal_project_composer_project. Rola automatycznie rozpoznaje, kiedy projekt Drupal już istnieje i pomija ten zestaw zadań.
  • install: Instalacja instancji Drupal za pomocą drush. Na końcu procesu konfiguracje Drupal są automatycznie eksportowane do katalogu {{ drupal_project_dir }}/config/sync. Ta rola automatycznie rozpoznaje, kiedy instalacja Drupal już istnieje i pomija ten zestaw zadań.
  • build: Buduje instancję Drupal za pomocą drush, instalując z istniejących wyeksportowanych konfiguracji. Automatycznie rozpoznaje konfiguracje i wykonuje zestaw zadań budowania.

Zaczynając od zera, wykonuje tylko zadania create i install.

Hooki

Możesz dodać własne zadania, używając dostępnych hooków:

  • drupal_before_create: wykonywane przed zestawem zadań create. Jeśli projekt Drupal już istnieje, ten hook zostanie pominięty.
  • drupal_after_create: wykonywane po zestawie zadań create. Jeśli projekt Drupal już istnieje, ten hook zostanie pominięty.
  • drupal_before_install: wykonywane przed zestawem zadań install. Jeśli konfiguracje Drupal są już dostępne, ten hook zostanie pominięty.
  • drupal_after_install: wykonywane po zestawie zadań install. Jeśli konfiguracje Drupal są już dostępne, ten hook zostanie pominięty.
  • drupal_before_build: wykonywane przed zestawem zadań build. Jeśli konfiguracje Drupal nie są dostępne, ten hook zostanie pominięty.
  • drupal_after_build: wykonywane po zestawie zadań build. Jeśli konfiguracje Drupal nie są dostępne, ten hook zostanie pominięty.

Sposób pracy Bmeme

Bmeme używa tej roli do automatyzacji procesów tworzenia / instalacji / budowy projektu Drupal podczas swojego procesu rozwoju. Używamy dockera jako środowiska deweloperskiego, zarówno lokalnie, jak i w zdalnych instancjach testowych. Rola jest wykonywana w naszych obrazach dockera php, dostępnych tutaj. Te same obrazy są również używane w teście roli molecule.

Zależności

N/A

Przykład Playbooka

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

Wewnątrz pliku vars/main.yml

drupal_project_dir: /path/to/my/project
drupal_site_name: Moja wspaniała instancja Drupal
drupal_after_build: "tasks/my-after-build-tasks.yml"

Jeśli chcesz użyć tej roli do instalacji konkretnej dystrybucji Drupala (na przykład: 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"

Licencja

MIT/BSD

Informacje o autorze

Ta rola została stworzona w 2020 roku przez Bmeme.

O projekcie

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

Zainstaluj
ansible-galaxy install bmeme.drupal
Licencja
mit
Pobrania
66.2k
Właściciel
Digital Factory