From 7347e72f207b4256daa01aa0fdc82ce65184c8a8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 26 Dec 2024 10:25:17 +0000 Subject: [PATCH] Add daily email for 2024-12-24 How easily can you move changes between environments? --- source/_daily_emails/2024-12-24.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 source/_daily_emails/2024-12-24.md diff --git a/source/_daily_emails/2024-12-24.md b/source/_daily_emails/2024-12-24.md new file mode 100644 index 00000000..0ce8d845 --- /dev/null +++ b/source/_daily_emails/2024-12-24.md @@ -0,0 +1,30 @@ +--- +title: How easily can you move changes between environments? +date: 2024-12-24 +permalink: daily/2024/12/24/moving-changes +tags: + - software-development + - drupal +cta: ~ +snippet: | + How easily can you move changes between the environments of your software application? +drupal_planet: true +--- + +Regardless of [how many environments your application has][0], you need to be able to move changes between them reliably. + +You don't want to configure each environment and make every change by hand. + +You want to automate this as much as possible so your changes are the same every time. + +In Drupal 7, the Features module was used to export changes once and apply them again using a `features revert` command - although its original use case was to extract reusable features for different applications. + +I've also written a lot of update of update hooks, like `mymodule_update_8001` to apply changes when database updates are applied. + +Since Drupal 8, we've had configuration management - a first-class way to export and import configuration changes - which I think was one of the best additions to Drupal 8, and something not available in some other CMSes, frameworks and applications. + +There's an ecosystem around configuration management, including Config Split for per-environment configurations and Config Ignore to ignore sensitive information or changes you don't want to manage via imported configuration. + +I recently worked on a project where we didn't have a CI pipeline running configuration imports on each change and things were very difficult to manage. Once that was in place, though, things were much easier, more consistent and changes were quicker to release. + +[0]: {{site.url}}/daily/2024/12/23/how-many-environments-do-you-need