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, whereHASHis 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-completeoption 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 makecommand. -
profileName{string}The profile name used in creating a symlink to this directory if a Drush make file is specified with the
makeFileoption. Used to select the profile to install if therunInstalloption is selected. -
runInstall{boolean}If set, run
drush site-installto perform a fresh install of the site using theprofileNameas the install profile and allowing theinstallArgsoption to configure the install. -
installArgs{string}A set of parameters to concatenate onto the
drush site-installcommand if therunInstalloption is set. Defaults to ‘’. -
siteFolder{string}Specifies the site folder to use for this build (the folder within the Drupal
sitesfolder). 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
clearCachesoption 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 updbafter the build is finished.Example
steps: - name: Run database updates plugin: Drupal databaseUpdates: true -
clearCaches{boolean}Whether to clear all caches using
drush cc allafter the build is finished. Pair with thedrupalVersionoption 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 fraafter 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: trueUsing 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'