How are people managing deploys with Buildkite?


#1

We use Buildkite to perform several build steps, and our build steps integrate with other tools to trigger deploys, but I’d like to look at using something off the shelf to report on the deploys that Buildkite runs instead.

eg, I’d want Buildkite and its agents to be doing the heavy lifting of deployment to test, staging and production, but be provided with an interface to monitor what versions of apps are running in various environments, whether an application is mid-deploy, and whether a deploy has failed.

Companies with more than a couple of apps / services and where BK is doing the deploy: what are you using to get a high-level overview of those deploys?


#2

Kubernetes + Helm + Nagios checks to verify pod status, etc.

You use a chatbot to kick off a new Buildkite build in the proper pipeline with a special env var that tells our pipeline script to issue the deploy steps instead of the general Docker Build + CI steps. From there, we run a Helm container and helm upgrade away!


#3

Can you elaborate more on this?

  • How are you handling multiple environments?
  • What chatbot?
  • How is the chatbot connecting and authing to Buildkite?
  • Are you switching the pipeline YAML file via a script or something else?

I’m looking at Buildkite coming from a Jenkins world (where mostly using promoted builds and build parameters). The deployment aspects definitely seem to be lacking in Buildkite (or are mostly DIY via scripts) when coming from a Jenkins or Bamboo world.