
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.
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, where HASH is a random string generated and used for the $settings['hash_salt'] value in the settings.php file.
# 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.
# 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 for drush make. Defaults to true.
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 the runInstall option is selected.
runInstall {boolean}If set, run drush site-install to perform a fresh install of the site using the profileName as the install profile and allowing the installArgs option to configure the install.
installArgs {string}A set of parameters to concatenate onto the drush site-install command if the runInstall option is set. Defaults to ‘’.
siteFolder {string}Specifies the site folder to use for this build (the folder within the Drupal sites folder). Defaults to default.
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 {string}The file name of the database to import if specified. Note that this database must be added to the assets array separately.
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.
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.
steps:
- name: Unzip database
plugin: Drupal
databaseBzipped: true
settingsRequireFile {string}A file to require at the end of settings.php. This option helps you to avoid checking settings.php into your repository.
# 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.
steps:
- name: Append to settings.php
plugin: Drupal
settingsAppend: |
$bar = 'baz';
$foo = 'stuff';
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 run drush cc all. Drupal 8 and higher will run drush cr. Defaults to 8. Accepts the integer values 6 - 9.
steps:
- name: Set Drupal version
plugin: Drupal
drupalVersion: 9
databaseUpdates {boolean}Determines whether to run drush updb after the build is finished.
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 the drupalVersion option to ensure the proper command is run for your version of Drupal. Defaults to true.
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.
steps:
- name: Revert features
plugin: Drupal
revertFeatures: true
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
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'

Get a free trial with our starter plan or look over some of our more advanced plans and choose the best solution for your company or organization!
GET STARTED FREE