We use GCP Cloud Run for most of our infrastructure, and we would like to run Buildkite Agents using those. Is anyone else in the community doing this? I am aware of the GCE and GKE examples, and I have seen a slightly related topic here: On-demand - aka "just-in-time" agents
Hey @StevenACoffman
Welcome to the Buildkite community!
That’s a really interesting topic! :) GCP Cloud Run isn’t something we’ve seen used much with Buildkite yet — it’s not a very common request so far.
As you mentioned, we do have quite a few customers successfully using GKE to run Buildkite CI.
The forum discussion you linked was really interesting too!
We now offer a Kubernetes stack that runs on a customer’s Kubernetes cluster, handling job querying and pod provisioning. However, the underlying infrastructure still needs to be managed by the customer, since we don’t have visibility into those resources.
With Cloud Run, I imagine you’d need to build a custom scheduler that listens for jobs, schedules them, and scales down once they’re done.
Curious — would GKE work for your use case, or is there a specific reason you’re exploring Cloud Run instead? :)
Cheers,
Priya
Yeah, the only other thing that I found that was remotely similar was: GitHub - endocrimes/buildkite-gcp-scaler: A simple autoscaler for running buildkite jobs on Google Cloud
Our DevOps team is allergic to Kubernetes, so they will only consider approving our CI/CDD tools running on Cloud Run (or Google AppEngine). GKE gives them a terrible rash, I guess?
And yes, this is ironic, because our application products use GKE and other infrastructure very extensively.
It looks like it wouldn’t be too hard to whip up BuildKite custom scheduler, but I don’t want to duplicate efforts if someone else has one already.
Hi @StevenACoffman as Priya mentioned above, it’s not something we have at the moment. You’d need to build a custom scheduler to achieve this, and we’ve seen folks using buildkite-agent-metrics to good success with their own implementations.