The `disableConcurrentBuilds` pipeline option tells Jenkins to force
subsequent builds _of the same job_ to wait in queue until the one
running has completed. This is sufficient when there is only one
branch/project in development at a time. In order to prevent multiple
projects from running simultaneously, we need to acquire a global lock;
all projects need to have this same option in order for it to be
effective.
Recompiling the entire OS for every build takes way too long for
development purposes. Since we build binary packages anyway, let's keep
them around between builds by storing them on a Kubernetes persistent
volume.
Eventually, I want add a build parameter to wipe out the binary package
storage to force a from-scratch build. We'll use that option for robust
periodic builds, once development has slowed down.