Visão Geral
Buildkite é uma plataforma de CI/CD híbrida: o control plane é SaaS, mas os agents rodam na sua infraestrutura (on-prem, AWS, GCP, Azure, K8s). É usado em escala por Uber, DoorDash, Pinterest e Shopify.
Integration Pipelines são pipelines dedicados a rodar testes de integração — onde múltiplos serviços/módulos sobem juntos (DB real, Redis, mocks contratados) para validar contratos. Diferem de unit pipelines por tempo de execução, requisitos de infraestrutura e isolamento.
Anatomia de um pipeline.yml com etapa de integração
# .buildkite/pipeline.yml
steps:
- label: ":docker: Build"
key: "build"
command: "docker compose build app"
agents:
queue: "default"
plugins:
- docker-compose#v5.5.0:
build: app
- wait
- label: ":test_tube: Unit tests"
key: "unit"
command: "pnpm vitest run"
parallelism: 4
depends_on: "build"
agents:
queue: "default"
- label: ":mag: Integration tests"
key: "integration"
command: "pnpm test:integration"
depends_on: "build"
agents:
queue: "integration" # queue dedicada com mais recursos
timeout_in_minutes: 30
retry:
automatic:
- exit_status: -1
limit: 2
- wait
- block: "Deploy to prod?"
branches: "main"
- label: ":rocket: Deploy"
command: ".buildkite/deploy.sh"
branches: "main"
agents:
queue: "deploy"queue: integration): roteia jobs pesados para agents com mais CPU/RAM e secrets específicos (chaves de DB de staging, etc.). Mantenha unit/integration/deploy em queues separadas — facilita autoscaling.Dynamic pipelines (bootstrap → generate)
#!/usr/bin/env bash
# .buildkite/generate-pipeline.sh
# Bootstrap → generate pattern: 1 step inicial monta o resto do pipeline.
set -euo pipefail
# Detecta serviços alterados no diff
CHANGED=$(git diff --name-only origin/main...HEAD | cut -d/ -f1 | sort -u)
cat <<'YAML'
steps:
YAML
for svc in $CHANGED; do
if [[ -d "services/$svc" ]]; then
cat <<YAML
- label: ":hammer: Test $svc"
command: "cd services/$svc && make ci"
agents:
queue: "integration"
key: "test-$svc"
YAML
fi
done
cat <<'YAML'
- wait
- label: ":ship: Deploy changed services"
command: ".buildkite/deploy-changed.sh"
branches: "main"
YAMLtrigger step para encadear pipelines (ex.: pipeline de app dispara pipeline de integração end-to-end).# Pipeline A dispara Pipeline B com env e meta-data
steps:
- label: ":package: Build artifact"
command: ./build.sh
key: "build"
- trigger: "integration-tests" # slug do pipeline B
label: ":arrow_right: Run integration suite"
depends_on: "build"
build:
message: "Triggered from ${BUILDKITE_PIPELINE_SLUG} #${BUILDKITE_BUILD_NUMBER}"
commit: "${BUILDKITE_COMMIT}"
branch: "${BUILDKITE_BRANCH}"
env:
ARTIFACT_URL: "s3://artifacts/${BUILDKITE_BUILD_NUMBER}.tar"
meta_data:
source_build: "${BUILDKITE_BUILD_ID}"
async: false # bloqueia até B terminarAgent stack no Kubernetes
# Instalar agent-stack-k8s via Helm
helm upgrade --install agent-stack-k8s \
oci://ghcr.io/buildkite/helm/agent-stack-k8s \
--namespace buildkite \
--create-namespace \
--values values.yml
# values.yml minimo
config:
org: minha-org
cluster-uuid: <cluster-uuid>
agentToken: bkua_xxx # ou agentTokenSecretName apontando para um Secret
agentStackSecret: bkagent_xxx
podSpec:
serviceAccountName: buildkite-agent
containers:
- name: agent
resources:
requests: { cpu: "500m", memory: "1Gi" }
limits: { cpu: "2", memory: "4Gi" }Vídeos · Fundamentos & Onboarding
Material oficial e introdutório. Comece por aqui se nunca usou Buildkite. Todos os vídeos são em inglês (EN) — não há material em português significativo (gap real do nicho).
UnblockConf21 — Buildkite 101 Webinar
Buildkite · EN · 2021-12 — Visão geral do modelo híbrido (control plane SaaS + agents self-hosted), segurança, escala e como criar o primeiro pipeline.
Exploring the Pipeline Examples Gallery
Buildkite · EN · 2025-08 — Tour pela Pipeline Examples Gallery: como combinar templates prontos para Ruby, Node, Go, mobile e ML.
Creating New Pipelines with Examples
Buildkite · EN · 2025-08 — Passo-a-passo de criação de pipeline a partir de um exemplo do catálogo oficial.
Bootstrapping a New Pipeline with the Buildkite MCP Server
Buildkite · EN · 2025-10 — Usa o servidor MCP da Buildkite + LLM para gerar pipeline.yml e steps a partir do contexto do repo.
Visualize your CI/CD pipeline on a canvas with Buildkite
Buildkite · EN · 2025-07 — Canvas view: representação visual de steps, paralelismo e dependências do pipeline.
Strategies for migrating your CI/CD pipelines to Buildkite
Buildkite · EN · 2025-06 — Estratégias para migrar de Jenkins/GitHub Actions/CircleCI para Buildkite — quick wins e gotchas.
Buildkite CI/CD Platform — Developer Productivity (Keith Pitt)
CTO Connection · EN · 2023-12 — Talk do fundador Keith Pitt: filosofia da Buildkite, hybrid model e por que developer experience importa.
Storytelling in DevOps and What We’ve Been Up To
Buildkite · EN · 2024 — Keynote Keith Pitt — direção do produto, integrações e roadmap do platform.
Vídeos · Agents, Infra & Integrações
Como rodar agents em escala — Kubernetes, AWS, parallelismo, manutenção e infraestrutura como código com Terraform.
Maintaining the Buildkite Agent
Buildkite · EN · 2025-09 — Care & feeding do agent self-hosted: atualizações, hooks, lifecycle, telemetria e troubleshooting.
Buildkite parallel agents and how to use them for CI parallelisation
Buildkite · EN · 2019-01 — parallelism e parallel_job_count nos steps: split de test suite entre agents para reduzir wall-clock.
Buildkite March 2023 release: Native Kubernetes support
Buildkite · EN · 2023-03 — Lançamento do agent-stack-k8s: controller K8s + Helm chart + Job-per-build com isolation real.
Scaling CI horizontally with Buildkite, Kubernetes, and multiple pipelines
KubeFM · EN · 2025-09 — Ben Poland mostra como horizontalizar CI com K8s + múltiplos pipelines, queues e cluster autoscaling.
Managing CI/CD Resources with Terraform — Buildkite, GitHub e AWS
HashiCorp · EN · 2023-01 — Provisioning de Buildkite pipelines + GitHub webhooks + AWS infra como código com Terraform.
AWS BuildKite GitHub Webinar
AWS Events · EN · 2020-10 — Pipeline ponta-a-ponta: GitHub → Buildkite → Docker → AWS, com testes de API contínuos.
Zero to Kubernetes GitOps with Buildkite (Twilio)
Buildkite · EN · 2022 — Robbie DelPrete (Twilio) sobre integrar GitOps em K8s com triggers e plugins Buildkite.
Vídeos · Casos de Escala (Uber, Twilio, Aviator)
Como empresas grandes usam Buildkite em monorepos, monorepos com 10k builds/dia e merge queues. Boa leitura pra justificar adoção em time/empresa.
Building Fast, Reliable, and Scalable CI at Uber with Buildkite
Buildkite · EN · 2022-12 — Uber: 1k+ commits/dia, monorepo 500k arquivos / 50M LOC. Arquitetura, queues e otimizações.
Scaling Quality: a Journey to 10,000 Builds a Day
Buildkite · EN · 2025-10 — Estudo de caso: chegar a 10k builds/dia mantendo confiabilidade e tempo de feedback.
Merge Strategies for (Large) Monorepos — Spriha Tucker (Aviator)
Buildkite · EN · 2024 — Estratégias de merge queue em monorepos grandes — sequencial, paralelo, batching — aplicadas a Buildkite.
First-Class Support for GitHub Merge Queues
Buildkite · EN · 2025-10 — Integração nativa com merge queues do GitHub — checks, retries e gating.
Vídeos · Test Analytics & Flaky Tests
Buildkite Test Analytics é o produto irmão dos pipelines — ingesta resultados de teste, rastreia flakies e mede saúde da suite ao longo do tempo. Crucial para integration pipelines, onde flakes são endêmicos.
Introducing Buildkite Test Analytics
Buildkite · EN · 2022-06 — Lançamento do Test Analytics: ingestão de resultados de teste, dashboards e flaky detection.
Buildkite March 2023 release: Flaky Test Tracker
Buildkite · EN · 2023-03 — Flaky test tracker: identificação automática, quarentena e métricas de saúde da suite.
Finding Flaky Tests with Test Analytics (Gordon Chan)
Buildkite · EN · 2022-12 — Deep dive: como Test Analytics rastreia regressões e prioriza fixes.
UnblockConf21 — Buildkite Test Analytics Deep Dive
Buildkite · EN · 2021-12 — Arquitetura interna do Test Analytics e integração no pipeline.
UnblockConf21 — Test Analytics: Flaky Tests, FML
Buildkite · EN · 2021-12 — Talk descontraído sobre a dor real de flaky tests e o roadmap do produto.
Buildkite’s early adventure with ClickHouse in Test Analytics
ClickHouse · EN · 2025-02 — Engenharia: como Buildkite usa ClickHouse para queries analíticas em billions de rows.
Introducing Buildkite Test Analytics — Private Beta
Buildkite · EN · 2021 — Versão de teaser do produto na private beta — útil pra ver evolução até hoje.
Vídeos · Integrações Pontuais
Plugins, registries e conteúdo não-inglês (o único material próximo de PT que encontrei foi em espanhol).
Using Buildkite to push packages to Cloudsmith
Cloudsmith · EN · 2020-07 — Integration concreta: pipeline que builda artefatos e publica em registry Cloudsmith.
Buildkite — Herramienta DevOps Fundamentos CI/CD
Comunidad DevOps · ES · 2018-08 — (Espanhol) Introdução conceitual — fundamentos de CI/CD aplicados a Buildkite.
Buildkite — Creación de agentes
Comunidad DevOps · ES · 2018 — (Espanhol) Setup prático de Buildkite agents — único conteúdo próximo de PT que achei.
Documentação Oficial
Fontes canônicas — preferir sempre estas ao invés de blogs antigos.
- Pipelines — docs principal — referência completa de steps, env, plugins, retries.
- Getting Started — tutorial mão-na-massa do primeiro pipeline.
- Create Your Own Pipeline — escrever o
pipeline.ymlpara o seu repo. - Dynamic Pipelines — gerar steps em runtime (bootstrap → generate).
- Example Pipelines — catálogo de pipelines prontos por stack (Ruby, Node, Go, mobile, ML).
- Agent overview — o que é o agent e o ciclo de vida.
- Self-hosted agents — rodar agents na sua infra (recomendado em produção).
- agent-stack-k8s — instalação — Helm chart para rodar agents no Kubernetes.
- Agents em AWS — Elastic CI Stack autoscaling com CloudFormation.
- Elastic CI Stack — GCP via Terraform
- Agents em Microsoft Azure
- Deploying to Kubernetes — padrões de deploy a partir do pipeline.
Repositórios GitHub
- buildkite/agent — o agent oficial, escrito em Go. Open-source.
- buildkite/agent-stack-k8s — controller K8s + Helm chart para autoscaling.
- buildkite/elastic-ci-stack-for-aws — CloudFormation autoscaling em AWS.
- buildkite/terraform-buildkite-elastic-ci-stack-for-gcp — Terraform module para GCP.
Blog Posts & Artigos
- The power of Dynamic Pipelines: creating CI/CD pipelines in code, at runtime — blog oficial.
- What are CI/CD Pipelines? — fundamentos conceituais.
- Self-hosted Bazel remote cache em AWS com Terraform — caso real de cache de build em monorepo grande.
- Getting started with iOS CI and fastlane
- Setting up Buildkite and your first CI pipeline in 2 hours — Harvey Delaney, guia prático passo-a-passo.
- Streamlining CI/CD with Buildkite — Installation and Setup — Medium, install detalhado.
- Know How to Get Started with Buildkite — Opstree
- AWS CodeBuild como runner Buildkite (tutorial AWS)
- Using Buildkite + Pulumi (CI/CD para IaC)
Comparações & Decisão
Antes de adotar, vale comparar com alternativas. Estas leituras ajudam a justificar (ou refutar) a escolha do Buildkite.
- Buildkite vs todas (página oficial de comparação)
- GitHub Actions vs CircleCI
- Alternatives to Jenkins (2025)
- GitHub Actions vs Jenkins
- Shipyard — Comparing CI/CD Tools
- StackShare — Buildkite vs CircleCI vs Jenkins
- Top 9 Buildkite Alternatives (2026)