Add Docker image for site builds

We run site builds from a few places:

  • this project, when testing and deploying
  • all our source content projects, when testing docs changes against Hugo

The build job currently uses a third-party Docker image (hugomods/hugo:exts-${HUGO_VERSION}).

This setup will make Hugo version updates inefficient: every source project would need a pipeline change, as we can't pass HUGO_VERSION around to other projects.

Using our own Docker image instead of hugomods/hugo also gives us control over the exact Hugo environment across all docs projects and ensures security/reliability by avoiding dependencies on third-party images that could change unexpectedly or become unavailable.

Edited by Sarah German