Does Buildkite deploys itself

Also additional question, assuming it does deploy itself, do you think whatever it uses to deploy itself with runs at a higher version that what it is deploying?

Or, would whatever it uses to deploy itself be it’s staging / UAT environment?

Hi @dale! Nice question.

Yes, Buildkite is deployed with Buildkite! We practise continuous deployment, so every new commit to master gets automatically tested and then deployed. Testing happens within one set of agents, and then the deployment happens from another dedicated agent in our production environment which is very locked down.

Because builds are really just processes and scripts all the way down, we have a script we can run which deploys a new version of the Buildkite application. This is run by a Buildkite pipeline with some nice wrapping which makes sure that the build environment is what we expect, that the person who has triggered the build is allowed to deploy, that the new version is valid and ahead of the old version, etc. And we can also run that scripts outside of Buildkite, so if we need to do an emergency revert, or need to deploy during maintenance, then we still can.