Community Documentation

Managing configuration in Drupal 8

Last updated April 16, 2013. Created by heyrocker on October 26, 2012.
Edited by klonos, batigolix, aaronott, LeeHunter. Log in to edit this page.

With Drupal 8 you can deploy a configuration from one environment to another. This capability replaces the need for various contributed modules such as Features, Strongarm and Context.

You can manage configurations in your site via Menu > Configuration > Development > Synchronize configuration (http://www.example.com/admin/config/development/sync)

Configuration files can be found in the site's active config store (this will be sites/default/files/config_XXXX/active where XXXX is a hash). Inside there you'll find the yaml files (.yml) for the current configuration of your site.

Example

Here is a simple example that demonstrates how the site name can be configured in one environment and then deployed to another environment.

  1. Install two instances of Drupal 8 (origin and destination).
  2. Change the origin site name in admin/config/system/site-information
  3. Copy system.site.yml from the origin site directory /sites/default/files/config_*/active to the destination site directory /sites/default/files/config_*/staging. (This can be done manually or via git).
  4. In the destination site, ensure that the Configuration Manager module is active in admin/modules
  5. In the destination site, navigate to admin/config/development/sync and click Import all

Comments

Additions

The example above seems to apply only to changes to configuration files already existing in both origin and destination. If I need to add new configuration files from origin into destination, I have also to copy the manifest file(s) of the entities from the origin site config directory (also to remove config entities from the destination).
Is that correct?

nobody click here