From f1098df151dfaac56b0cab2b04e4edcf2b5703e0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 16 Nov 2024 23:14:32 +0000 Subject: [PATCH] Add daily email for 2024-11-12 Why consistency and reproducibility are important --- source/_daily_emails/2024-11-12.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 source/_daily_emails/2024-11-12.md diff --git a/source/_daily_emails/2024-11-12.md b/source/_daily_emails/2024-11-12.md new file mode 100644 index 00000000..25286fb0 --- /dev/null +++ b/source/_daily_emails/2024-11-12.md @@ -0,0 +1,29 @@ +--- +title: Why consistency and reproducibility are important +date: 2024-11-12 +permalink: daily/2024/11/12/why-consistency-and-reproducibility-are-important +tags: + - software-development + - linux + - nix + - docker +cta: ~ +snippet: | + Why is it important for software environments to be consistent and reproducible? +--- + +Have you worked on a project where different Developers are developing with different tools or have different versions of packages installed? + +In a development team, you want all environments to be consistent - including every Developer's local environment. + +You want to have every environment to be as close as possible to each other or, ideally, identical. + +You want everyone to use the same PHP version, the same web and database servers and the same packages installed. + +Once things start to diverge, bugs can be introduced - such as writing code locally in a newer version of PHP than what's on production. + +Ideally, you also want everything to be reproducible with locked dependencies and generate the same outcome regardless of when the commands are run. + +This is one of the main reasons I've [started to use Nix and devenv for projects][0] - because they create environments that are both consistent and reproducible, reducing the chances of dependency mismatches and bugs creeping into my code. + +[0]: {{site.url}}/daily/2024/11/11/could-nix-and-devenv-replace-docker-compose