The Probo Drupal plugin provides an easy way to set Drupal site configuration options in a Probo Build and quickly integrate a Drupal website’s repository. To use the Probo Drupal plugin you must declare plugin: Drupal
in your .probo.yaml
file. The Drupal plugin’s parameters can automate some steps specific to Drupal such as reverting features, running database updates, clearing caches, or performing other build configuration steps.
The Probo Drupal plugin inherits all Probo LAMP plugin configuration options. This allows additional Probo Build steps in your .probo.yaml
file to layer LAMP configuration options and commands on top of the Drupal site specific configuration.
See the Probo Drupal Plugin Examples section below for YAML config examples specific to Drupal.
Directory Configuration
-
configSyncDirectory
{string}Specify the location of the Drupal 8 configuration synchronization directory relative to a Drupal 8 site’s root directory. Defaults to
sites/default/files/config_HASH/sync
, whereHASH
is a random string generated and used for the$settings['hash_salt']
value in the settings.php file.Example
# Set a custom directory for config sync. steps: - name: Set custom config sync directory. plugin: Drupal drupalVersion: 8 configSyncDirectory: config/sync
-
makeFile
{string}The name of the Drush make file to run to generate the install directory.
Example
# Use a file in your docroot steps: - name: Specify make file plugin: Drupal makeFile: example.make # Use an uploaded asset assets: - probo-specific.make steps: - name: Specify make file plugin: Drupal makeFile: $ASSET_DIR/probo-specific.make
-
makeForceComplete
{boolean}Whether to use the
--force-complete
option fordrush make
. Defaults totrue
.Example
steps: - name: Do not force make file completion plugin: Drupal makeForceComplete: false
-
makeArgs
{array}A set of parameters to concatenate onto the
drush make
command. -
profileName
{string}The profile name used in creating a symlink to this directory if a Drush make file is specified with the
makeFile
option. Used to select the profile to install if therunInstall
option is selected. -
runInstall
{boolean}If set, run
drush site-install
to perform a fresh install of the site using theprofileName
as the install profile and allowing theinstallArgs
option to configure the install. -
installArgs
{string}A set of parameters to concatenate onto the
drush site-install
command if therunInstall
option is set. Defaults to ‘’. -
siteFolder
{string}Specifies the site folder to use for this build (the folder within the Drupal
sites
folder). Defaults todefault
.Example
steps: - name: Specify non-default site plugin: Drupal siteFolder: blog
-
subDirectory
{string}The path to your docroot if it is a subdirectory of your git repository.
Database Configuration
-
database
{string}The file name of the database to import if specified. Note that this database must be added to the assets array separately.
Example
assets: - mydb.sql.gz steps: - name: Import database plugin: Drupal database: mydb.sql.gz
-
databaseGzipped
{boolean}Whether the database was sent gzipped and whether it should therefore be gunzipped before importing.
Example
steps: - name: Unzip database plugin: Drupal databaseGzipped: true
-
databaseBzipped
{boolean}Whether the database was sent bzipped and whether it should therefore be bunzipped before importing.
Example
steps: - name: Unzip database plugin: Drupal databaseBzipped: true
Settings.php Options
-
settingsRequireFile
{string}A file to require at the end of settings.php. This option helps you to avoid checking settings.php into your repository.
Example
# Require checked in settings steps: - name: Require Probo-specific site settings plugin: Drupal settingsRequireFile: sites/default/probo-settings.php # Use an uploaded asset assets: - probo-settings.php steps: - name: Require Probo-specific site settings plugin: Drupal settingsRequireFile: $ASSET_DIR/probo-settings.php
-
settingsAppend
{string}Specify a snippet, such as a variable, to append to the end of the settings.php file.
Example
steps: - name: Append to settings.php plugin: Drupal settingsAppend: | $bar = 'baz'; $foo = 'stuff';
Additional Options
-
drupalVersion
{integer}Specifies which version of Drupal you are using so that the appropriate commands can be run. For example, if you specify “7” the
clearCaches
option will rundrush cc all
. Drupal 8 and higher will rundrush cr
. Defaults to 8. Accepts the integer values 6 - 9.Example
steps: - name: Set Drupal version plugin: Drupal drupalVersion: 9
-
databaseUpdates
{boolean}Determines whether to run
drush updb
after the build is finished.Example
steps: - name: Run database updates plugin: Drupal databaseUpdates: true
-
clearCaches
{boolean}Whether to clear all caches using
drush cc all
after the build is finished. Pair with thedrupalVersion
option to ensure the proper command is run for your version of Drupal. Defaults to true.Example
steps: - name: Clear caches plugin: Drupal clearCaches: true
-
revertFeatures
{boolean}Whether to revert features using
drush fra
after the build is finished. To use this option, your site must have the Features module installed. This is ignored on Drupal 8 installs and higher.Example
steps: - name: Revert features plugin: Drupal revertFeatures: true
Probo Drupal Plugin Examples
Using the Drupal
plugin
assets:
- mydb.sql.gz
steps:
- name: Probo site setup
plugin: Drupal
database: mydb.sql.gz
databaseGzipped: true
databaseUpdates: true
subDirectory: docroot
revertFeatures: true
Using the Settings Options
assets:
- mydb.sql.gz
steps:
- name: Provision Drupal
plugin: Drupal
runInstall: standard
settingsRequireFile: 'site-settings.php'
settingsAppend: |
$bar = 'baz';
$foo = 'stuff';
Setting LAMPApp
PHP Configuration Options on a Drupal Installation
assets:
- mydb.sql.gz
steps:
- name: Probo site setup
plugin: Drupal
database: mydb.sql.gz
databaseGzipped: true
databaseUpdates: true
revertFeatures: true
phpIniOptions:
all:
memory_limit: 256M
apache2:
max_execution_time: 60
upload_max_filesize: 25M
post_max_size: 25M
cli:
max_execution_time: 0
- name: Generate login link
command: 'drush uli'