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, where HASH 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 for drush make. Defaults to true.

    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 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.

    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 run drush cc all. Drupal 8 and higher will run drush 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 the drupalVersion 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'
<< Probo LAMP Plugin Probo WordPress Plugin >>