deployment

  • Auto-updates, and the site that changed underneath you

    5.5 turns on plugin auto-updates per plugin, and a managed site is not a hobby site. A plugin updated at 03:00 and a checkout broken at 09:00.

  • Compose in CI, and the service the tests need

    The tests need MySQL and Redis, and CI gives you an empty machine. Service containers, where they differ from compose, and the readiness nothing does for you.

  • docker-compose config is the only reliable answer

    A compose file with variable substitution, an override and an anchor is not readable by inspection, and the gap between what you think it says and what it…

  • A read replica that was silently stale

    The replica was up, accepting connections and serving data from an hour ago. Seconds_Behind_Master reported zero, honestly, and was measuring the wrong thing.

  • wp_get_environment_type, in core at last

    WordPress had no concept of an environment, so every site invented one — and the versions differed enough that a shared plugin could not rely on any of…

  • A compose profile before profiles: two files and a merge

    Wanting the mail catcher and phpMyAdmin locally but not in CI, without maintaining two full compose files, is the problem profiles eventually solve — and they are not…

  • .NET Core 3.1 is the LTS, and .NET 5 is a rename

    3.1 in December 2019 is the long-term support release, and .NET 5 in November 2020 drops the “Core” without being a different platform. Skipping 5 and waiting for…

  • A self-hosted runner, and what it is allowed to reach

    The hosted runner cannot reach the private network, which is the whole problem — and a runner inside it is a machine running other people’s code.

  • An SLO is a number somebody agreed to

    Everyone wanted the site to be fast and nobody could say what fast meant. An indicator, an objective and a window — and the error budget is what…

  • A canary needs a metric to decide on, agreed in advance

    A canary release without a decision rule is a slower deploy — somebody watches a dashboard for ten minutes, sees nothing obvious and promotes it. The minimum sample…