-
Notifications
You must be signed in to change notification settings - Fork 2
/
deploy.yml.j2
78 lines (78 loc) · 3.15 KB
/
deploy.yml.j2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
---
# Template playbook for a local Drupal8 codebase.
- hosts: {{ project_name }}-web
vars:
- project_name: {{ project_name }}
- project_type: drupal8
- webroot: web
- build_type: local
- _env_type: dev
{% raw %}
- _domain_name: www.{{ project_name }}.local
# Path to your project root. This must match the "volume" set in the docker compose template.
- deploy_path: /home/ce-dev/deploy/live.local
# This actually does not take any backup, but is needed to populate settings.php.
- mysql_backup:
handling: none
credentials_handling: static
# A list of Drupal sites (for multisites).
- drupal:
sites:
- folder: "default"
public_files: "sites/default/files"
install_command: "-y si"
# Toggle config import on/off. Disabled for initial passes.
config_import_command: ""
# config_import_command: "cim"
config_sync_directory: "config/sync"
sanitize_command: "sql-sanitize"
# Remove after initial pass, to avoid reinstalling Drupal.
force_install: true
base_url: "https://{{ _domain_name }}"
# Composer command to run.
- composer:
command: install
no_dev: false
working_dir: "{{ deploy_path }}"
apcu_autoloader: false
pre_tasks:
# You can safely remove these steps once you have a working composer.json.
- name: Download composer file.
ansible.builtin.get_url:
url: https://raw.githubusercontent.com/drupal/recommended-project/8.9.x/composer.json
dest: "{{ deploy_path }}/composer.json"
force: false
- name: Adding composer/installers plugin to composer config.
community.general.composer:
command: config
arguments: allow-plugins.composer/installers true
working_dir: "{{ deploy_path }}"
- name: Adding drupal/core-composer-scaffold plugin to composer config.
community.general.composer:
command: config
arguments: allow-plugins.drupal/core-composer-scaffold true
working_dir: "{{ deploy_path }}"
- name: Adding drupal/core-project-message plugin to composer config.
community.general.composer:
command: config
arguments: allow-plugins.drupal/core-project-message true
working_dir: "{{ deploy_path }}"
- name: Adding dealerdirect/phpcodesniffer-composer-installer plugin to composer config.
community.general.composer:
command: config
arguments: allow-plugins.dealerdirect/phpcodesniffer-composer-installer true
working_dir: "{{ deploy_path }}"
- name: Install drush.
community.general.composer:
command: require
arguments: drush/drush:10.*
working_dir: "{{ deploy_path }}"
roles:
- _init # Sets some variables the deploy scripts rely on.
- composer # Composer install step.
- database_backup # This is still needed to generate credentials.
- config_generate # Generates settings.php
# - sync/database_sync # Grab database from a remote server.
- database_apply # Run drush updb and config import.
- _exit # Some common housekeeping.
{% endraw %}