Drupal 8

deployment workflow

Drupal 7 workflow

  • Features
  • Update hooks
  • Manually (sometimes)

The new Drupal 8 configuration system

  • No need of any third party modules
  • Use core Configuration Manager module
  • Configurations are stored in YAML files

Configuration directories

  • Active - Containing the current configurations
  • Sync - Containing the configurations to be imported

What??? I have to learn everything from the start?

Similarities with Drupal 7 (features) approach

Drupal 7 Drupal 8
Current configuration is stored in database Current configuration is stored in active directory/database
Features stores configuration as files YAML files stores configuration

Similarities with Drupal 7 (features) approach

# See all feature components in Drupal 7
drush features-components (fc)

# See all configurations in Drupal 8
drush config-list (cli)

# Export features components into a module
drush features-export (fe)

# Export configurations into a directory
drush config-export (cex) <sync>

# Revert feature module (or import feature settings to your site)
drush features-revert (fr)

# Import configurations from a directory to your site
drush config-import (cim) <sync>

Synchronize window

Full export

Single export

Full import

Single import

Want to setup sync directory? First things first.

# cd inside Drupal docroot

# Create config directories
mkdir -p sites/default/sync
<?php

// You can create as many config directories you want.
$config_directories = array(
  CONFIG_SYNC_DIRECTORY => 'sites/default/sync',
);

// Store instance specific settings like database here.
if (file_exists(__DIR__ . '/settings.local.php')) {
  include __DIR__ . '/settings.local.php';
}
# Add database settings to settings.local.php
vim sites/default/settings.local.php

# Edit .gitignore
vim .gitignore

# Initially push the active configuration into sync directory
drush cex sync

DEMO

Helper modules

  • Features 
  • Configuration Update Manager

Differences from Features approach

  • Features allows you to package configurations as a module
  • Optional functionalities should be kept as Features

Questions? No? That's great!!

Thank you :)

subhojitpaul21@gmail.com

_subhojit_paul

subhojit777

Drupal 8 deployment workflow

By Subhojit Paul

Drupal 8 deployment workflow

  • 399