Drupal Enterprise Configuration Management
Drupal has a configuration system that allows you to move configuration changes (i.e. content types, fields, views,...) between different environments, including your local machine. Drupal.org provides detailed information about the configuration system.
For example, let's say you create a new view on your local machine. The Drupal configuration system allows you to export the view as a yml file then import it to the dev site on our infrastructure. Once validated in dev , you can migrate the configuration to production.
Using Configuration Management on the UMN Platform
We recommend you create a repository in GitHub that grants drupa001 full rights. The repository should have four branches:
- local (if you are doing local development)
Once you have this set up, send the repository information to [email protected] and include a request to perform a config export, commit, and push on each branch to populate the configurations.
Moving configurations between environments
To move configurations from one environment to another, assuming the source environment is local:
- drush cex on the local installation
- git checkout local
- git commit -am "a detailed message about the change you are making"
- git push origin local
- git checkout dev
- Assuming the dev configurations are in sync with the dev environment. If they aren't, or you aren't sure, send an email to [email protected] asking them to do a config export on dev.
- git pull
- git diff --name-only local
- to ensure you are only changing configs you want to
- git merge
- git push origin dev
Once you complete these steps, fill out z.umn.edu/drupalsupportrequest and select "Configuration sync between environments." You will be asked to provide your configuration Github repository URL, the source and target environments and branch names. Optionally, you can specify the remote configuration split path, if applicable. It is recommended that you list the configurations you expect to change in the "Additional Information" so the support team can confirm.