# Buildkite Documentation > Buildkite is a platform for running fast, secure, and scalable continuous integration pipelines on your own infrastructure. ## Pipelines - [Overview](https://buildkite.com/docs/pipelines.md): Landing page for Buildkite Pipelines CI/CD product documentation. ### Introduction #### Why Buildkite Pipelines - [Advantages of Buildkite Pipelines](https://buildkite.com/docs/pipelines/advantages/buildkite-pipelines.md): Why teams choose Buildkite Pipelines: hybrid architecture, unlimited scaling, speed, dynamic pipelines, and security model. - [Advantages over Jenkins](https://buildkite.com/docs/pipelines/advantages/buildkite-vs-jenkins.md): Comparison of Buildkite vs Jenkins covering managed control plane, ephemeral agents, scaling, YAML pipelines, and dynamic pipelines. - [Advantages over GitLab](https://buildkite.com/docs/pipelines/advantages/buildkite-vs-gitlab.md): Comparison of Buildkite vs GitLab covering lightweight agents, flexible pipelines without rigid stages, monorepo support, and pricing. - [Advantages over GitHub Actions](https://buildkite.com/docs/pipelines/advantages/buildkite-vs-gha.md): Comparison of Buildkite vs GitHub Actions covering scaling limits, dynamic pipelines, reliability, and hosted machine performance. - [Getting started](https://buildkite.com/docs/pipelines/getting-started.md): Step-by-step tutorial for creating your first pipeline, running a build, and understanding Pipelines fundamentals. - [Create your own pipeline](https://buildkite.com/docs/pipelines/create-your-own.md): Tutorial for writing a pipeline definition for your own code after completing the getting started guide. - [Buildkite Pipelines architecture](https://buildkite.com/docs/pipelines/architecture.md): Explains the self-hosted (hybrid) and Buildkite hosted architecture models for build environments. - [Dashboard walkthrough](https://buildkite.com/docs/pipelines/dashboard-walkthrough.md): Guide to the Pipelines dashboard UI including pipeline status, build history, speed, reliability metrics, and favorites. - [Build page](https://buildkite.com/docs/pipelines/build-page.md): Guide to the redesigned build page UI with sidebar navigation, step search, log viewing, and summary/steps/annotations views. #### Pipeline converter - [Overview](https://buildkite.com/docs/pipelines/converter.md): Overview of the AI-powered pipeline converter tool that translates CI configs from GitHub Actions, Jenkins, CircleCI, and others. - [GitHub Actions](https://buildkite.com/docs/pipelines/converter/github-actions.md): How the converter translates GitHub Actions workflows to Buildkite pipelines, including jobs, triggers, matrix, and secrets mapping. - [Jenkins](https://buildkite.com/docs/pipelines/converter/jenkins.md): How the converter translates Jenkins Scripted and Declarative pipelines to Buildkite, including stages, parameters, and concurrency. - [CircleCI](https://buildkite.com/docs/pipelines/converter/circleci.md): How the converter translates CircleCI configs to Buildkite pipelines, including workflows, orbs, executors, and matrix strategies. - [Bitbucket Pipelines](https://buildkite.com/docs/pipelines/converter/bitbucket-pipelines.md): How the converter translates Bitbucket Pipelines configs to Buildkite, including steps, branch pipelines, and parallel execution. - [Glossary](https://buildkite.com/docs/pipelines/glossary.md): Definitions of key Pipelines terms: agent, artifact, build, cluster, dynamic pipeline, job, pipeline, queue, step, and more. ### Connect source control - [Overview](https://buildkite.com/docs/pipelines/source-control.md): Index of supported source control integrations: GitHub, GitHub Enterprise, GitLab, Bitbucket, Bitbucket Server, Phabricator, and Git. - [GitHub](https://buildkite.com/docs/pipelines/source-control/github.md): Setting up GitHub integration using the GitHub App or OAuth, permissions, webhooks, PR builds, and commit statuses. - [GitHub Enterprise](https://buildkite.com/docs/pipelines/source-control/github-enterprise.md): Setting up GitHub Enterprise Server integration with OAuth app registration, webhooks, and commit status updates. - [GitLab](https://buildkite.com/docs/pipelines/source-control/gitlab.md): Setting up GitLab and GitLab Self-Managed integration with webhooks and commit status updates. - [Bitbucket](https://buildkite.com/docs/pipelines/source-control/bitbucket.md): Setting up Bitbucket Cloud integration with webhooks and commit status updates. - [Bitbucket Server](https://buildkite.com/docs/pipelines/source-control/bitbucket-server.md): Setting up Bitbucket Server integration with webhooks for triggering builds on code pushes and pull requests. - [Phabricator](https://buildkite.com/docs/pipelines/source-control/phabricator.md): Setting up Phabricator integration using Harbormaster build plans and webhooks for build status reporting. - [Other Git servers](https://buildkite.com/docs/pipelines/source-control/git.md): Triggering builds from non-integrated Git servers using post-receive hooks and the Buildkite REST API. ### Migration - [Overview](https://buildkite.com/docs/pipelines/migration.md): Overview of migration tools and guides for moving to Buildkite from Jenkins, GitHub Actions, Bamboo, and other CI/CD platforms. - [From Jenkins](https://buildkite.com/docs/pipelines/migration/from-jenkins.md): Migration guide from Jenkins covering architecture differences, pipeline translation, agents, plugins, and secrets. - [From GitHub Actions](https://buildkite.com/docs/pipelines/migration/from-githubactions.md): Migration guide from GitHub Actions covering architecture, checkout behavior, workflow translation, secrets, and OIDC setup. - [From Bamboo](https://buildkite.com/docs/pipelines/migration/from-bamboo.md): Migration guide from Bamboo covering how plans, stages, tasks, agents, variables, and deployments map to Buildkite concepts. ### Best practices - [Overview](https://buildkite.com/docs/pipelines/best-practices.md) - [Pipeline design and structure](https://buildkite.com/docs/pipelines/best-practices/pipeline-design-and-structure.md): Patterns for maintainable pipelines: modularity, monorepo builds, fast feedback loops, YAML structure, and versioning. - [Agent management](https://buildkite.com/docs/pipelines/best-practices/agent-management.md): Best practices for agent infrastructure: cloud compute, Kubernetes, hosted agents, queue design, lifecycle, and autoscaling. - [Docker-based builds](https://buildkite.com/docs/pipelines/best-practices/docker-containerized-builds.md): Running builds in Docker containers using the Docker and Docker Compose plugins, with configuration examples. - [Parallelizing builds](https://buildkite.com/docs/pipelines/best-practices/parallel-builds.md): Running steps in parallel across multiple agents and using job parallelism to split test suites for faster builds. - [Working with monorepos](https://buildkite.com/docs/pipelines/best-practices/working-with-monorepos.md): Static and dynamic approaches for running monorepo pipelines with change detection using if_changed and diff plugins. - [Environment and dependency management](https://buildkite.com/docs/pipelines/best-practices/environment-and-dependency.md): Best practices for containerized builds, dependency locking, caching, environment variable management, and tool versioning. - [Secrets management](https://buildkite.com/docs/pipelines/best-practices/secrets-management.md): Recommendations for secrets management: native tools, rotation, scoping, and audit logging. - [Infrastructure as code recommendations](https://buildkite.com/docs/pipelines/best-practices/iac.md): Managing Buildkite organizations, pipelines, and agents as code using Terraform, GitOps workflows, and OIDC. - [Git checkout optimization](https://buildkite.com/docs/pipelines/best-practices/git-checkout-optimization.md): Optimizing Git checkout performance with sparse checkout and Git mirrors for large repositories. - [Plugin management](https://buildkite.com/docs/pipelines/best-practices/plugin-management.md): Best practices for plugin standardization: common use cases, plugin sources, versioning, and security vetting. - [Caching](https://buildkite.com/docs/pipelines/best-practices/caching.md): Caching strategies for dependencies, Docker layers, and Git mirrors using hosted cache volumes and cache plugins. - [Monitoring and observability](https://buildkite.com/docs/pipelines/best-practices/monitoring-and-observability.md): Best practices for telemetry, metrics collection, alerting, log management, and integrating with observability tools. - [Platform controls](https://buildkite.com/docs/pipelines/best-practices/platform-controls.md): How platform teams maintain centralized control over agent infrastructure, pipeline templates, and developer autonomy. - [Enforcing security controls](https://buildkite.com/docs/pipelines/best-practices/security-controls.md): Security engineering guide covering authentication, source code integrity, supply chain, artifact, and pipeline hardening. ### Tutorials - [Using Bazel on Buildkite](https://buildkite.com/docs/pipelines/tutorials/bazel.md): Setting up Bazel builds on Buildkite with installation, workspace configuration, and example pipelines. - [Dynamic pipelines and annotations using Bazel](https://buildkite.com/docs/pipelines/tutorials/dynamic-pipelines-and-annotations-using-bazel.md): Tutorial for creating dynamic pipelines and build annotations using Bazel with a monorepo example project. - [Migrating to YAML steps](https://buildkite.com/docs/pipelines/tutorials/pipeline-upgrade.md): Migrating from the web-based step editor to the YAML Steps editor, including compatibility and bulk migration. - [Using GitHub merge queues](https://buildkite.com/docs/pipelines/tutorials/github-merge-queue.md): Configuring Buildkite to work with GitHub merge queues, including build behavior, conditionals, and environment variables. - [Triggering Pipelines Using GitHub Actions](https://buildkite.com/docs/pipelines/tutorials/github-actions.md): Using the Trigger Buildkite Pipeline GitHub Action to create Buildkite builds from GitHub Actions workflows. ### Agent - [Overview](https://buildkite.com/docs/agent.md): Overview of the Buildkite agent, comparing self-hosted and Buildkite hosted agents, architecture, lifecycle, and CLI usage. #### Self-hosted agents - [Overview](https://buildkite.com/docs/agent/self-hosted.md): Running agents on your own infrastructure, covering installation, configuration, starting agents, and experimental features. - [Tokens](https://buildkite.com/docs/agent/self-hosted/tokens.md): Creating, managing, and revoking agent tokens used to connect self-hosted agents to Buildkite clusters. - [Code access](https://buildkite.com/docs/agent/self-hosted/code-access.md): Configuring SSH keys on self-hosted agents to clone private Git repositories, including GitHub-specific setup. ##### Run on Kubernetes - [Overview](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s.md): Architecture and prerequisites for the Agent Stack for Kubernetes controller that runs Buildkite jobs as Kubernetes pods. - [Installation](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/installation.md): Installing the Agent Stack for Kubernetes controller using Helm, including chart configuration and namespace setup. - [Git credentials](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/git-credentials.md): Configuring SSH keys and HTTPS git-credentials for cloning private repositories in Kubernetes agent pods. - [Default parameters](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/default-parameters.md): Adding environment variables using envFrom to default checkout, command, and sidecar containers in agent-stack-k8s. - [Controller configuration](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/controller-configuration.md): Reference for agent-stack-k8s controller CLI flags, commands, and configuration options. - [Agent configuration](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/agent-configuration.md): Setting Buildkite agent configuration options (shell, hooks, experiments, security flags) within agent-stack-k8s values.yaml. - [Running builds](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/running-builds.md): Defining pipeline steps that target Kubernetes queues, using the kubernetes plugin for container and checkout configuration. - [Long-running jobs](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/long-running-jobs.md): Configuring job timeout duration (activeDeadlineSeconds) globally or per-step in agent-stack-k8s. - [Git settings](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/git-settings.md): Overriding git clone, fetch, and clean flags on a per-step basis in agent-stack-k8s pipelines. - [Pipeline signing](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/pipeline-signing.md): Setting up JWKS key pairs as Kubernetes secrets to enable signed pipeline verification in agent-stack-k8s. - [Agent hooks and plugins](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/agent-hooks-and-plugins.md): Configuring agent hooks using ConfigMaps and using Buildkite plugins within agent-stack-k8s controller. - [Pipeline validation](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/pipeline-validation.md): Validating agent-stack-k8s pipeline and plugin configurations using JSON Schema linting. - [Job metadata](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/job-metadata.md): Adding default Kubernetes labels and annotations to jobs created by the agent-stack-k8s controller. - [Sidecars](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/sidecars.md): Running sidecar containers alongside job command containers in agent-stack-k8s pipelines. - [Kubernetes PodSpec](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/podspec.md): How agent-stack-k8s generates Kubernetes PodSpecs from controller config, pipeline definitions, and podSpecPatch. - [Custom images](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/custom-images.md): Specifying custom container images for command and checkout containers in agent-stack-k8s, including image requirements. - [Pod templates](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/pod-template.md): Using Kubernetes PodTemplate resources as reusable pod specs for agent-stack-k8s pipeline steps. - [Container resource limits](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/container-resource-limits.md): Setting CPU and memory requests/limits for containers using resource classes or PodSpec patches in agent-stack-k8s. - [Volume mounts](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/volume-mounts.md): Attaching extra volume mounts to agent-stack-k8s pod containers for sharing data between containers. - [Command override](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/overriding-commands.md): Rules and limitations for overriding container commands using PodSpecPatch in agent-stack-k8s. - [Securing the stack](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/securing-the-stack.md): Using prohibit-kubernetes-plugin to prevent pipeline-level PodSpec overrides in agent-stack-k8s. - [Prometheus metrics](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/prometheus-metrics.md): Exposing and scraping Prometheus metrics from the agent-stack-k8s controller, with available metric descriptions. ###### Build container images - [Buildah](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/buildah-container-builds.md): Building OCI container images with Buildah in agent-stack-k8s, covering privileged and rootless configurations. - [BuildKit](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/buildkit-container-builds.md): Building container images with BuildKit in agent-stack-k8s, covering privileged, rootless, and strict modes. - [Docker Compose](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/docker-compose-container-builds.md): Running Docker Compose plugin builds in agent-stack-k8s with Docker socket mounting or Docker-in-Docker. - [Docker-in-Docker (DinD)](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/dind-container-builds.md): Running Docker-in-Docker as a sidecar container for standard Docker builds in agent-stack-k8s. - [Kaniko](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/kaniko-container-builds.md): Building container images with Kaniko in agent-stack-k8s without a Docker daemon, pushing to various registries. - [Namespace remote builders](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/namespace-container-builds.md): Using Namespace remote Docker builders to offload container builds from agent-stack-k8s pods. - [Depot remote builders](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/depot-agent-kubernetes-container-builds.md): Using Depot remote builders for container builds on agent-stack-k8s, with authentication and caching setup. - [Troubleshooting](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/troubleshooting.md): Debugging agent-stack-k8s issues using debug mode, Kubernetes log collection, and common error solutions. ###### Migrate from Elastic CI Stack for AWS - [Amazon ECR authentication](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/migrate-from-elastic-ci-stack-for-aws/ecr.md): Migrating Amazon ECR authentication from Elastic CI Stack for AWS to agent-stack-k8s using the ecr plugin. - [Docker registry authentication](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/migrate-from-elastic-ci-stack-for-aws/docker-login.md): Migrating Docker registry authentication from Elastic CI Stack for AWS to agent-stack-k8s using docker-login plugin. - [Pre-installed packages](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/migrate-from-elastic-ci-stack-for-aws/packages.md): Handling missing pre-installed packages when migrating from Elastic CI Stack for AWS AMIs to agent-stack-k8s containers. - [Hook execution differences](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/migrate-from-elastic-ci-stack-for-aws/hook-execution-differences.md): How agent hooks execute differently in agent-stack-k8s (separate containers) versus Elastic CI Stack for AWS (single process). - [Secrets](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/migrate-from-elastic-ci-stack-for-aws/secrets.md): Migrating secrets from S3 buckets to Kubernetes Secrets or Buildkite secrets when moving to agent-stack-k8s. - [Docker daemon access](https://buildkite.com/docs/agent/self-hosted/agent-stack-k8s/migrate-from-elastic-ci-stack-for-aws/docker-daemon.md): Configuring Docker daemon access in agent-stack-k8s using sidecar containers or DaemonSets when migrating from AWS. ##### Run on AWS - [Overview](https://buildkite.com/docs/agent/self-hosted/aws.md): Options for running Buildkite agents on AWS: Elastic CI Stack, Agent Stack for Kubernetes, or self-managed EC2 instances. ###### Architectural considerations - [VPC design](https://buildkite.com/docs/agent/self-hosted/aws/architecture/vpc.md): VPC network design options (public, private, split subnets) for Elastic CI Stack for AWS deployments. - [Securing your setup](https://buildkite.com/docs/agent/self-hosted/aws/architecture/securing-your-setup.md): Preventing builds from accessing EC2 metadata and restricting IAM permissions in AWS agent deployments. - [Recommendations](https://buildkite.com/docs/agent/self-hosted/aws/architecture/recommendations.md): Guidance on sizing agent pools and balancing performance, cost, and availability for AWS CI/CD infrastructure. ###### Elastic CI Stack - [Overview](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack.md): Overview of the Elastic CI Stack for AWS: an autoscaling agent cluster with Docker, S3, and CloudWatch integration. - [Architecture](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/architecture.md): Internal architecture of the Elastic CI Stack for AWS: ASG, launch templates, AMI software stack, and autoscaling. ###### EC2 Linux and Windows - [Setup with AWS CloudFormation](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-linux-and-windows/setup.md): Step-by-step CloudFormation setup for the Elastic CI Stack for AWS on Linux and Windows EC2 instances. - [Setup with Terraform](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-linux-and-windows/terraform.md): Deploying the Elastic CI Stack for AWS using the Terraform module instead of CloudFormation. - [Security](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-linux-and-windows/security.md): Security configuration for Elastic CI Stack for AWS: S3 secrets, VPC settings, IAM permissions, and CloudFormation. - [Managing the Stack](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-linux-and-windows/managing-elastic-ci-stack.md): Managing Elastic CI Stack for AWS: Docker registries, ECR, custom hooks, bootstrap scripts, and autoscaling. - [Configuration parameters](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-linux-and-windows/configuration-parameters.md): Complete reference of all CloudFormation and Terraform configuration parameters for Elastic CI Stack for AWS. - [Creating custom AMIs](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-linux-and-windows/creating-custom-amis.md): Building custom AMIs for Elastic CI Stack for AWS using Packer templates and the ImageId parameter. ###### Build container images - [BuildKit](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-linux-and-windows/buildkit-container-builds.md): Building container images with BuildKit/Buildx on Elastic CI Stack for AWS, including caching and multi-platform builds. - [Remote BuildKit on EC2](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-linux-and-windows/remote-buildkit-ec2.md): Setting up a dedicated EC2 instance as a remote BuildKit builder for Elastic CI Stack for AWS agents. - [Docker Compose](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-linux-and-windows/docker-compose-container-builds.md): Running Docker Compose plugin builds on Elastic CI Stack for AWS with caching, multi-arch, and registry push. - [Kaniko](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-linux-and-windows/kaniko-container-builds.md): Building container images with Kaniko on Elastic CI Stack for AWS without a Docker daemon, pushing to registries. - [Buildah](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-linux-and-windows/buildah-container-builds.md): Building OCI container images with Buildah on Elastic CI Stack for AWS using the Docker Buildkite plugin. - [Depot](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-linux-and-windows/depot-elastic-ci-container-builds.md): Using Depot remote builders for container builds on Elastic CI Stack for AWS EC2 agents. - [Namespace remote builders](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-linux-and-windows/namespace-remote-builders.md): Using Namespace remote Docker builders to offload container builds from Elastic CI Stack for AWS instances. - [Troubleshooting](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-linux-and-windows/troubleshooting.md): Debugging Elastic CI Stack for AWS using CloudWatch Logs, log-collector scripts, and common issue solutions. ###### EC2 Mac - [Setup](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-mac/setup.md): Setting up Buildkite agents on AWS EC2 Mac instances using CloudFormation with Auto Scaling groups and custom AMIs. - [Troubleshooting](https://buildkite.com/docs/agent/self-hosted/aws/elastic-ci-stack/ec2-mac/troubleshooting.md): Troubleshooting EC2 Mac agent issues: Auto Scaling failures, agent startup, Xcode access, and SSH connectivity. ###### Self-serve install - [On AWS EC2 Mac instances](https://buildkite.com/docs/agent/self-hosted/aws/self-serve-install/ec2-mac.md): Manually installing the Buildkite agent on your own AWS EC2 Mac instances with AMI creation steps. ##### Run on Google Cloud - [Overview](https://buildkite.com/docs/agent/self-hosted/gcp.md): Options for running Buildkite agents on GCP: Elastic CI Stack Terraform module, Kubernetes, or self-managed instances. ###### Architectural considerations - [VPC design](https://buildkite.com/docs/agent/self-hosted/gcp/architecture/vpc.md): VPC network architecture, firewall rules, and security options for the Elastic CI Stack for GCP. ###### Elastic CI Stack - [Overview](https://buildkite.com/docs/agent/self-hosted/gcp/elastic-ci-stack.md): Overview of the Elastic CI Stack for GCP: autoscaling Terraform module with Docker, Cloud Logging, and preemptible VMs. - [Terraform](https://buildkite.com/docs/agent/self-hosted/gcp/elastic-ci-stack/terraform.md): Deploying the Elastic CI Stack for GCP using Terraform, including prerequisites, configuration, and custom images. - [Configuration](https://buildkite.com/docs/agent/self-hosted/gcp/elastic-ci-stack/configuration-parameters.md): Complete reference of all Terraform variables for configuring the Elastic CI Stack for GCP. - [Troubleshooting](https://buildkite.com/docs/agent/self-hosted/gcp/elastic-ci-stack/troubleshooting.md): Debugging Elastic CI Stack for GCP using Cloud Logging, serial console, SSH access, and common issue solutions. ##### Custom install - [Overview](https://buildkite.com/docs/agent/self-hosted/install.md): Overview of agent installation methods across platforms, with links to platform-specific guides and manual install steps. - [Ubuntu](https://buildkite.com/docs/agent/self-hosted/install/ubuntu.md): Installing the Buildkite agent on Ubuntu 18.04+ using the signed apt repository. - [Debian](https://buildkite.com/docs/agent/self-hosted/install/debian.md): Installing the Buildkite agent on Debian 8+ using the signed apt repository. - [Red Hat/CentOS](https://buildkite.com/docs/agent/self-hosted/install/redhat.md): Installing the Buildkite agent on RHEL, CentOS, and Amazon Linux using the yum repository. - [FreeBSD](https://buildkite.com/docs/agent/self-hosted/install/freebsd.md): Installing the Buildkite agent on FreeBSD using the pkg package manager. - [macOS](https://buildkite.com/docs/agent/self-hosted/install/macos.md): Installing the Buildkite agent on macOS using Homebrew, with launchd service configuration. - [Windows](https://buildkite.com/docs/agent/self-hosted/install/windows.md): Installing the Buildkite agent on Windows using PowerShell or manual installation. - [Linux](https://buildkite.com/docs/agent/self-hosted/install/linux.md): Installing the Buildkite agent on any Linux system using the universal install script. - [Docker](https://buildkite.com/docs/agent/self-hosted/install/docker.md): Running the Buildkite agent in a Docker container using the official image, with Docker-in-Docker support. ##### Configure - [Overview](https://buildkite.com/docs/agent/self-hosted/configure.md): Agent configuration file reference: all settings, environment variables, and command-line flags for self-hosted agents. - [Experiments](https://buildkite.com/docs/agent/self-hosted/configure/experiments.md): List of experimental agent features you can opt into using the --experiment flag, with status and descriptions. - [Git mirrors](https://buildkite.com/docs/agent/self-hosted/configure/git-mirrors.md): Setting up local Git mirrors on agents to speed up repository cloning and reduce network bandwidth. - [Pausing and resuming](https://buildkite.com/docs/agent/self-hosted/pausing-and-resuming.md): Pausing and resuming individual agents to prevent job dispatch during maintenance or debugging. - [Prioritization](https://buildkite.com/docs/agent/self-hosted/prioritization.md): How Buildkite assigns jobs to agents based on priority values, success history, and queue targeting. ##### Monitoring and observability - [Overview](https://buildkite.com/docs/agent/self-hosted/monitoring-and-observability.md): Agent health checks, HTTP status endpoints, and Prometheus metrics for monitoring self-hosted agents. - [Tracing](https://buildkite.com/docs/agent/self-hosted/monitoring-and-observability/tracing.md): Setting up distributed tracing for the Buildkite agent using Datadog APM or OpenTelemetry. ##### Security - [Overview](https://buildkite.com/docs/agent/self-hosted/security.md): Security hardening for self-hosted agents: secrets storage, SSH keyscan, command evaluation, plugin controls. - [Signed pipelines](https://buildkite.com/docs/agent/self-hosted/security/signed-pipelines.md): Cryptographically signing pipeline uploads and verifying signatures before job execution using JWKS keys. ##### Agent versions directory - [Overview](https://buildkite.com/docs/agent/self-hosted/versions-directory.md): Complete list of stable Buildkite agent 3.x releases with dates and known issues. - [Upgrading from 3.0-beta and 2.x versions](https://buildkite.com/docs/agent/self-hosted/versions-directory/upgrading-from-3-dot-0-beta-and-v2.md): Upgrading agents from 3.0-beta or 2.x to stable 3.x versions, with migration steps and changelog. #### Buildkite hosted agents - [Overview](https://buildkite.com/docs/agent/buildkite-hosted.md): Overview of Buildkite hosted agents: fully-managed, ephemeral build runners with autoscaling, caching, and per-second pricing. ##### Linux hosted agents - [Overview](https://buildkite.com/docs/agent/buildkite-hosted/linux.md): Linux hosted agent instance sizes, architectures (AMD64/ARM64), agent images, concurrency, and security details. - [Custom base images](https://buildkite.com/docs/agent/buildkite-hosted/linux/custom-base-images.md): Creating custom Docker-based agent images for Linux hosted agents with required tools and configurations. - [Remote Docker builders](https://buildkite.com/docs/agent/buildkite-hosted/linux/remote-docker-builders.md): How remote Docker builders offload docker build commands to dedicated machines with layer caching (Enterprise). ##### macOS hosted agents - [Overview](https://buildkite.com/docs/agent/buildkite-hosted/macos.md): macOS hosted agent sizes, Apple silicon support, pre-installed software (Xcode, Homebrew), and configuration. - [Getting started with iOS](https://buildkite.com/docs/agent/buildkite-hosted/macos/getting-started-with-ios.md): Tutorial for building iOS apps using Buildkite macOS hosted agents with the FlappyKite sample project. - [Troubleshooting fastlane](https://buildkite.com/docs/agent/buildkite-hosted/macos/troubleshooting-fastlane.md): Troubleshooting fastlane issues on Buildkite hosted macOS agents: code signing, provisioning profiles, and keychains. - [Code access](https://buildkite.com/docs/agent/buildkite-hosted/code-access.md): Configuring hosted agents to access private GitHub repositories and other providers using SSH or HTTPS. - [Pipeline migration](https://buildkite.com/docs/agent/buildkite-hosted/pipeline-migration.md): Steps to migrate existing pipelines to Buildkite hosted agent queues, including repository checkout changes. - [Terminal access](https://buildkite.com/docs/agent/buildkite-hosted/terminal-access.md): Accessing a live terminal on running hosted agent jobs for debugging and environment inspection. - [Cache volumes](https://buildkite.com/docs/agent/buildkite-hosted/cache-volumes.md): Configuring NVMe cache volumes on hosted agents for build dependencies, Docker images, and Git mirrors. - [Internal container registry](https://buildkite.com/docs/agent/buildkite-hosted/internal-container-registry.md): Using the cluster-scoped internal container registry to store and share Docker images built by hosted agents. - [Network security](https://buildkite.com/docs/agent/buildkite-hosted/network-security.md): IP allowlisting, OIDC-based authentication, and network security configuration for Buildkite hosted agents. #### Queues - [Overview](https://buildkite.com/docs/agent/queues.md): How queues route jobs to specific agents, targeting queues from pipeline YAML, and self-hosted vs hosted queue types. - [Managing](https://buildkite.com/docs/agent/queues/managing.md): Creating, configuring, pausing, and deleting self-hosted and Buildkite hosted queues within clusters. - [Agent lifecycle](https://buildkite.com/docs/agent/lifecycle.md): Agent lifecycle stages, signal handling (SIGTERM/SIGQUIT), exit codes, and troubleshooting common issues. - [Hooks](https://buildkite.com/docs/agent/hooks.md): Agent hook types, scopes (agent, repository, plugin), lifecycle events, and polyglot hook support. #### Command-line reference - [Overview](https://buildkite.com/docs/agent/cli/reference.md): Overview of all buildkite-agent CLI commands for managing agents, artifacts, pipelines, and build operations. - [start](https://buildkite.com/docs/agent/cli/reference/start.md): CLI reference for buildkite-agent start: flags for tags, token, configuration, spawn, and disconnect behavior. - [annotate](https://buildkite.com/docs/agent/cli/reference/annotate.md): CLI reference for buildkite-agent annotate: adding Markdown annotations to build pages with styles and contexts. - [annotation](https://buildkite.com/docs/agent/cli/reference/annotation.md): CLI reference for buildkite-agent annotation: removing existing build annotations by context. - [artifact](https://buildkite.com/docs/agent/cli/reference/artifact.md): CLI reference for buildkite-agent artifact: uploading, downloading, and searching build artifacts across steps. - [bootstrap](https://buildkite.com/docs/agent/cli/reference/bootstrap.md): CLI reference for buildkite-agent bootstrap: the internal command the agent runs to execute a job. - [build](https://buildkite.com/docs/agent/cli/reference/build.md): CLI reference for buildkite-agent build: canceling builds from within a running job. - [env](https://buildkite.com/docs/agent/cli/reference/env.md): CLI reference for buildkite-agent env: inspecting, setting, and unsetting environment variables in jobs. - [job](https://buildkite.com/docs/agent/cli/reference/job.md): CLI reference for buildkite-agent job update: modifying job attributes like timeout_in_minutes during execution. - [lock](https://buildkite.com/docs/agent/cli/reference/lock.md): CLI reference for buildkite-agent lock: coordinating concurrent builds on shared resources using named locks. - [meta-data](https://buildkite.com/docs/agent/cli/reference/meta-data.md): CLI reference for buildkite-agent meta-data: key/value store for sharing data across build steps and agents. - [oidc](https://buildkite.com/docs/agent/cli/reference/oidc.md): CLI reference for buildkite-agent oidc: requesting OIDC tokens for federated authentication with AWS, GCP, Azure. - [pause](https://buildkite.com/docs/agent/cli/reference/pause.md): CLI reference for buildkite-agent pause: manually pausing a running agent to stop job dispatch. - [pipeline](https://buildkite.com/docs/agent/cli/reference/pipeline.md): CLI reference for buildkite-agent pipeline upload: dynamically adding or replacing build steps from YAML/JSON. - [redactor](https://buildkite.com/docs/agent/cli/reference/redactor.md): CLI reference for buildkite-agent redactor: adding sensitive values to the log redactor during builds. - [resume](https://buildkite.com/docs/agent/cli/reference/resume.md): CLI reference for buildkite-agent resume: resuming a previously paused agent. - [secret](https://buildkite.com/docs/agent/cli/reference/secret.md): CLI reference for buildkite-agent secret get: retrieving secrets from Buildkite secrets with automatic redaction. - [step](https://buildkite.com/docs/agent/cli/reference/step.md): CLI reference for buildkite-agent step: getting and updating step attributes (label, priority) during a build. - [stop](https://buildkite.com/docs/agent/cli/reference/stop.md): CLI reference for buildkite-agent stop: manually stopping a running agent. - [tool](https://buildkite.com/docs/agent/cli/reference/tool.md): CLI reference for buildkite-agent tool: utilities for JWKS key generation and pipeline signing (experimental). ### Configure pipelines - [Overview](https://buildkite.com/docs/pipelines/configure.md): Overview of pipeline configuration concepts: what pipelines are, step types, and links to key configuration topics. - [Defining steps](https://buildkite.com/docs/pipelines/configure/defining-steps.md): How to define pipeline steps in YAML, set up webhooks, configure step defaults, and manage pipeline.yml files. #### Step types - [Overview](https://buildkite.com/docs/pipelines/configure/step-types.md): Index of available step types: command, wait, block, input, trigger, and group steps. - [Command step](https://buildkite.com/docs/pipelines/configure/step-types/command-step.md): Reference for command steps: running shell commands, all attributes, plugins, matrix, soft_fail, retry, and agent targeting. - [Wait step](https://buildkite.com/docs/pipelines/configure/step-types/wait-step.md): Reference for wait steps that pause builds until all previous steps complete, with continue_on_failure option. - [Block step](https://buildkite.com/docs/pipelines/configure/step-types/block-step.md): Reference for block steps that pause builds for manual approval, with optional text and select input fields. - [Input step](https://buildkite.com/docs/pipelines/configure/step-types/input-step.md): Reference for input steps that collect user information using text and select fields without creating implicit dependencies. - [Trigger step](https://buildkite.com/docs/pipelines/configure/step-types/trigger-step.md): Reference for trigger steps that create builds on other pipelines, with permissions, async mode, and attribute details. - [Group step](https://buildkite.com/docs/pipelines/configure/step-types/group-step.md): Reference for group steps that display sub-steps as a single logical group on the build page. #### Dynamic pipelines - [Overview](https://buildkite.com/docs/pipelines/configure/dynamic-pipelines.md): Generating pipeline steps at runtime using scripts that output YAML/JSON and pipe to buildkite-agent pipeline upload. - [Using if_changed](https://buildkite.com/docs/pipelines/configure/dynamic-pipelines/if-changed.md): Using the if_changed step attribute to skip steps based on Git diff file changes, with glob patterns, monorepo workflows, and comparison strategies. - [Buildkite SDK](https://buildkite.com/docs/pipelines/configure/dynamic-pipelines/sdk.md): Multi-language SDK (JS, Python, Go, Ruby, C#) for programmatically generating dynamic pipeline steps. - [Annotations](https://buildkite.com/docs/pipelines/configure/annotations.md) - [Writing build scripts](https://buildkite.com/docs/pipelines/configure/writing-build-scripts.md): Guidelines for writing shell scripts for builds, including Bash options, debugging, and exit status handling. - [Using conditionals](https://buildkite.com/docs/pipelines/configure/conditionals.md): Using if/unless expressions with C-like syntax to conditionally run steps or filter pipeline builds from webhooks. - [Step dependencies](https://buildkite.com/docs/pipelines/configure/dependencies.md): Managing step execution order with implicit dependencies (wait/block) and explicit dependencies (depends_on). - [Environment variables](https://buildkite.com/docs/pipelines/configure/environment-variables.md): Complete reference of Buildkite environment variables available in build steps, hooks, and plugins. - [Skipping builds](https://buildkite.com/docs/pipelines/configure/skipping.md): Skipping or canceling intermediate builds, and skipping builds using commit messages or the API. - [Build artifacts](https://buildkite.com/docs/pipelines/configure/artifacts.md): Uploading, downloading, and managing build artifacts using step attributes, CLI commands, and the API. - [Build timeouts](https://buildkite.com/docs/pipelines/configure/build-timeouts.md): Configuring command step timeouts and scheduled job expiration at step, pipeline, and organization levels. - [Pipeline tags](https://buildkite.com/docs/pipelines/configure/tags.md): Tagging pipelines with emoji and text labels for filtering and searching on the dashboard. - [Build retention](https://buildkite.com/docs/pipelines/configure/build-retention.md): Build data retention periods by plan tier and the lifecycle of build data removal. - [Public pipelines](https://buildkite.com/docs/pipelines/configure/public-pipelines.md): Making pipelines publicly visible for open-source projects, providing read-only access to builds and logs. - [Using build meta-data](https://buildkite.com/docs/pipelines/configure/build-meta-data.md): Storing and retrieving key-value metadata across build steps using the buildkite-agent meta-data command. - [Managing log output](https://buildkite.com/docs/pipelines/configure/managing-log-output.md): Formatting build log output with collapsible groups, ANSI colors, redaction, and log limits. - [Links and images in log output](https://buildkite.com/docs/pipelines/configure/links-and-images-in-log-output.md): Embedding clickable links and inline images in build logs using ANSI escape codes. - [Notifications](https://buildkite.com/docs/pipelines/configure/notifications.md): Configuring build notifications for Slack, email, GitHub statuses, PagerDuty, webhooks, and Basecamp. - [Job minutes](https://buildkite.com/docs/pipelines/configure/job-minutes.md): How job minutes are calculated, usage tracking, and plan-based inclusions. - [Glob pattern syntax](https://buildkite.com/docs/pipelines/configure/glob-pattern-syntax.md): Syntax reference for glob patterns used in artifact uploads and if_changed step conditions. - [Example pipelines](https://buildkite.com/docs/pipelines/configure/example-pipelines.md): Gallery of example pipelines for various languages, frameworks, build systems, and techniques. #### Workflows - [Prioritizing jobs](https://buildkite.com/docs/pipelines/configure/workflows/managing-priorities.md): Setting job priority values to control dispatch order, including per-step and pipeline-wide priority. - [Controlling concurrency](https://buildkite.com/docs/pipelines/configure/workflows/controlling-concurrency.md): Using concurrency limits and concurrency groups to serialize deployments or limit parallel job execution. - [Build matrix](https://buildkite.com/docs/pipelines/configure/workflows/build-matrix.md): Expanding a single step template into multiple jobs using matrix element arrays with adjustments. - [Branch configuration](https://buildkite.com/docs/pipelines/configure/workflows/branch-configuration.md): Filtering builds and steps by branch patterns at the pipeline, step, and pull request levels. - [Scheduled builds](https://buildkite.com/docs/pipelines/configure/workflows/scheduled-builds.md): Creating cron-based build schedules with predefined intervals or custom crontab syntax. - [Archive and delete](https://buildkite.com/docs/pipelines/configure/workflows/archiving-and-deleting-pipelines.md): How to archive pipelines to preserve history or permanently delete them and their build data. ### Security - [Overview](https://buildkite.com/docs/pipelines/security.md): Security overview covering data flow, infrastructure, encryption, logging, audit, and compliance controls. #### Secrets - [Overview](https://buildkite.com/docs/pipelines/security/secrets.md): Overview of secrets management options: managing secrets, risk considerations, and Buildkite secrets service. - [Managing](https://buildkite.com/docs/pipelines/security/secrets/managing.md): Best practices for managing pipeline secrets using secrets storage services, environment hooks, and agent hooks. - [Risk considerations](https://buildkite.com/docs/pipelines/security/secrets/risk-considerations.md): Security risks to avoid: storing secrets in pipeline settings, YAML env blocks, or build logs. ##### Buildkite secrets - [Overview](https://buildkite.com/docs/pipelines/security/secrets/buildkite-secrets.md): Buildkite's encrypted key-value secret store scoped to clusters, with creation, usage, and redaction details. - [Access policies](https://buildkite.com/docs/pipelines/security/secrets/buildkite-secrets/access-policies.md): YAML-based access policies that restrict Buildkite secret access by pipeline, branch, user, and other build attributes. #### Clusters - [Overview](https://buildkite.com/docs/pipelines/security/clusters.md): Clusters for organizing agents, queues, and pipelines into isolated groups with self-service management. - [Manage clusters](https://buildkite.com/docs/pipelines/security/clusters/manage.md): Creating, updating, and deleting clusters; managing maintainers, agent tokens, and pipeline assignments. - [Migrate from unclustered to clustered agents](https://buildkite.com/docs/pipelines/security/clusters/migrate-from-unclustered-to-clustered-agents.md): Step-by-step guide for migrating unclustered agents and pipelines to clustered agent infrastructure. ##### Rules - [Overview](https://buildkite.com/docs/pipelines/security/clusters/rules.md): Rules for cross-cluster pipeline triggering and cross-pipeline artifact access with source/target conditions. - [Manage rules](https://buildkite.com/docs/pipelines/security/clusters/rules/manage.md): Creating and managing rules using the Buildkite interface, REST API, and GraphQL API. - [Incoming webhooks](https://buildkite.com/docs/pipelines/security/incoming-webhooks.md): Security FAQ for incoming webhooks from source control providers, including IP filtering and logging. #### OIDC - [Overview](https://buildkite.com/docs/pipelines/security/oidc.md): Overview of OIDC token issuance by Buildkite agents for federated authentication with AWS, GCP, Azure, and others. - [OIDC with AWS](https://buildkite.com/docs/pipelines/security/oidc/aws.md): Step-by-step setup for OIDC federation between Buildkite agents and AWS IAM using assume-role-with-web-identity. - [Permissions](https://buildkite.com/docs/pipelines/security/permissions.md): Configuring user, team, and pipeline permissions at organization, team, and pipeline levels. ### Governance - [Overview](https://buildkite.com/docs/pipelines/governance.md): Overview of governance features for compliance and auditing: pipeline templates and build exports. - [Pipeline templates](https://buildkite.com/docs/pipelines/governance/templates.md): Enterprise feature for defining reusable pipeline step configurations as centrally managed templates. - [Build exports](https://buildkite.com/docs/pipelines/governance/build-exports.md): Enterprise feature to export build data to S3 or GCS buckets for long-term retention beyond the plan limit. ### Deployments - [Overview](https://buildkite.com/docs/pipelines/deployments.md): Architectures and patterns for manual and continuous deployment pipelines, including block steps and trigger steps. - [Deploying to AWS Lambda](https://buildkite.com/docs/pipelines/deployments/to-aws-lambda.md): Tutorial for deploying Lambda functions using the AWS Lambda Deploy plugin with alias management and rollback. - [Deploying to Kubernetes](https://buildkite.com/docs/pipelines/deployments/to-kubernetes.md): Tutorial for deploying to Kubernetes using kubectl, Docker image builds, and trigger steps between test and deploy pipelines. - [Deploying with Argo](https://buildkite.com/docs/pipelines/deployments/with-argo-cd.md): Integrating Buildkite Pipelines with Argo CD for GitOps-based Kubernetes deployments. - [Deploying with Heroku](https://buildkite.com/docs/pipelines/deployments/with-heroku.md): Deploying Heroku applications from Buildkite pipelines using git push or Heroku's automatic deploys feature. - [Deployment visibility with Backstage](https://buildkite.com/docs/pipelines/deployments/deployment-visibility-with-backstage.md): Monitoring Buildkite deployment pipelines in Backstage developer portals with real-time status and build management. - [Deployment plugins](https://buildkite.com/docs/pipelines/deployments/deployment-plugins.md): Directory of Buildkite plugins for deployment automation. ### Insights - [Waterfall view](https://buildkite.com/docs/pipelines/insights/waterfall.md): Waterfall chart view for visualizing build job timing, wait times, agent assignment, and execution durations. - [Cluster insights](https://buildkite.com/docs/pipelines/insights/clusters.md): Enterprise dashboard showing real-time cluster metrics: queue wait time, agent utilization, and job pass rate. - [Queue metrics](https://buildkite.com/docs/pipelines/insights/queue-metrics.md): Real-time queue statistics showing connected agents, running/waiting/scheduled jobs, and agent utilization. ### Integrations - [Overview](https://buildkite.com/docs/pipelines/integrations.md): Landing page for Buildkite Pipelines integrations with third-party tools and services. #### Plugins - [Overview](https://buildkite.com/docs/pipelines/integrations/plugins.md): How plugins extend build steps using job lifecycle hooks, including open source, private, and vendored plugin types. - [Plugins directory](https://buildkite.com/docs/pipelines/integrations/plugins/directory.md): Searchable directory of all Buildkite-maintained and third-party plugins. - [Using plugins](https://buildkite.com/docs/pipelines/integrations/plugins/using.md): Adding plugins to command steps, configuring plugin parameters, pinning versions, and plugin source types. - [Writing plugins](https://buildkite.com/docs/pipelines/integrations/plugins/writing.md): Tutorial and reference for creating custom Buildkite plugins with hooks, plugin.yml schema, and testing tools. #### Notifications - [PagerDuty](https://buildkite.com/docs/pipelines/integrations/notifications/pagerduty.md): Sending PagerDuty change events when builds finish, with integration setup and pipeline YAML configuration. - [Slack](https://buildkite.com/docs/pipelines/integrations/notifications/slack.md): Setting up per-channel Slack notification services for build and job status updates. - [Slack Workspace](https://buildkite.com/docs/pipelines/integrations/notifications/slack-workspace.md): Workspace-level Slack integration for configuring notifications using YAML notify attributes to any channel or user. - [CCMenu and CCTray](https://buildkite.com/docs/pipelines/integrations/notifications/cc-menu.md): Using the cctray.xml feed to display build status in CCMenu, CCTray, and build dashboards. - [Notification plugins](https://buildkite.com/docs/pipelines/integrations/notifications/plugins.md): Directory of Buildkite plugins for delivering notifications. #### Observability - [Overview](https://buildkite.com/docs/pipelines/integrations/observability/overview.md): Overview of observability integrations: Datadog, Honeycomb, OpenTelemetry, Amazon EventBridge, and community plugins. - [Datadog](https://buildkite.com/docs/pipelines/integrations/observability/datadog.md): Configuring Datadog APM tracing and CI Pipeline Visibility for Buildkite Pipelines. - [Honeycomb](https://buildkite.com/docs/pipelines/integrations/observability/honeycomb.md): Integrating Honeycomb with Buildkite using buildevents binary, OpenTelemetry tracing, or the Markers plugin. - [OpenTelemetry](https://buildkite.com/docs/pipelines/integrations/observability/opentelemetry.md): Sending OpenTelemetry traces from Buildkite agents and the dashboard to your OTLP endpoint. - [Amazon EventBridge](https://buildkite.com/docs/pipelines/integrations/observability/amazon-eventbridge.md): Streaming real-time build, job, and agent events to Amazon EventBridge with full event schema reference. - [Observability plugins](https://buildkite.com/docs/pipelines/integrations/observability/plugins.md): Directory of Buildkite plugins for observability. #### Security and compliance - [Security and compliance plugins](https://buildkite.com/docs/pipelines/integrations/security-and-compliance/plugins.md): Directory of Buildkite plugins for security, governance, and compliance. - [SonarScanner CLI tutorial](https://buildkite.com/docs/pipelines/integrations/security-and-compliance/sonar.md): Tutorial for integrating SonarScanner CLI with Buildkite pipelines for static code analysis using SonarQube or SonarCloud. #### Secrets - [Secrets plugins](https://buildkite.com/docs/pipelines/integrations/secrets/plugins.md): Directory of Buildkite plugins for secrets management. #### Artifacts and packages - [Artifactory](https://buildkite.com/docs/pipelines/integrations/artifacts-and-packages/artifactory.md): Configuring the Buildkite agent to upload and download artifacts directly from JFrog Artifactory. - [Artifact plugins](https://buildkite.com/docs/pipelines/integrations/artifacts-and-packages/artifact-plugins.md): Directory of Buildkite plugins for managing or uploading build artifacts. - [Package plugins](https://buildkite.com/docs/pipelines/integrations/artifacts-and-packages/package-plugins.md): Directory of Buildkite plugins for publishing or retrieving packages. #### Other integrations - [Build status badges](https://buildkite.com/docs/pipelines/integrations/other/build-status-badges.md): Embedding build status badge images in READMEs and dashboards, with branch, step, and style options. - [Docker Hub](https://buildkite.com/docs/pipelines/integrations/other/docker-hub.md): Handling Docker Hub rate limits in Buildkite builds with authentication, mirroring, and caching strategies. - [Backstage](https://buildkite.com/docs/pipelines/integrations/other/backstage.md): Installing and configuring the Buildkite plugin for Backstage developer portals with build monitoring and management. ## Test Engine - [Overview](https://buildkite.com/docs/test-engine.md): Overview of Test Engine for tracking test performance, reliability, and flaky test management across CI/CD. ### Introduction - [Getting started](https://buildkite.com/docs/test-engine/getting-started.md): Step-by-step tutorial to create a test suite, clone a Ruby example project, and collect test results. - [Speed up builds with bktec](https://buildkite.com/docs/test-engine/speed-up-builds-with-bktec.md): How bktec (Test Engine Client) speeds builds using intelligent test splitting and quarantines flaky tests. - [Reduce flaky tests](https://buildkite.com/docs/test-engine/reduce-flaky-tests.md): Strategy for detecting, quarantining, and remediating flaky tests using workflows, labels, and notifications. - [Glossary](https://buildkite.com/docs/test-engine/glossary.md): Definitions of Test Engine terms: action, alarm, execution, flaky test, monitor, quarantine, run, tag, and more. ### Test suites - [Overview](https://buildkite.com/docs/test-engine/test-suites.md): How test suites collect and organize tests, including parallelized builds and the Tests tab on build pages. - [Test state and quarantine](https://buildkite.com/docs/test-engine/test-suites/test-state-and-quarantine.md): Managing test states (enabled, muted, skipped) and quarantining flaky tests automatically or manually. - [Tags](https://buildkite.com/docs/test-engine/test-suites/tags.md): Adding key:value tag dimensions to test executions for filtering, aggregation, and comparison. - [Test ownership](https://buildkite.com/docs/test-engine/test-suites/test-ownership.md): Assigning team ownership to tests using a TESTOWNERS file with Buildkite team slugs. - [Labels](https://buildkite.com/docs/test-engine/test-suites/labels.md): Creating and applying labels to tests manually, using workflows, execution tags, or the REST API. - [Saved views](https://buildkite.com/docs/test-engine/test-suites/saved-views.md): Creating and managing saved filter/display views for test suite data in Test Engine. - [Public test suites](https://buildkite.com/docs/test-engine/test-suites/public.md): Making a test suite publicly accessible with read-only access to run results and analytics. ### Test collection - [Overview](https://buildkite.com/docs/test-engine/test-collection.md): Overview of test collectors for sending test data from various languages and test runners to Test Engine. - [Android](https://buildkite.com/docs/test-engine/test-collection/android-collectors.md): Setup instructions for the Android test collector package with unit and instrumented tests. - [Elixir](https://buildkite.com/docs/test-engine/test-collection/elixir-collectors.md): Setup instructions for the Elixir ExUnit test collector. - [Go](https://buildkite.com/docs/test-engine/test-collection/golang-collectors.md): Configuring Go tests with gotestsum to generate JUnit XML and upload to Test Engine. - [JavaScript](https://buildkite.com/docs/test-engine/test-collection/javascript-collectors.md): Setup for JavaScript test collectors supporting Jest, Cypress, Playwright, Mocha, Jasmine, and Vitest. - [.NET](https://buildkite.com/docs/test-engine/test-collection/dotnet-collectors.md): Setup instructions for the .NET xUnit test collector. - [Python](https://buildkite.com/docs/test-engine/test-collection/python-collectors.md): Setup instructions for the Python pytest test collector. - [Ruby](https://buildkite.com/docs/test-engine/test-collection/ruby-collectors.md): Setup instructions for Ruby test collectors supporting RSpec and minitest. - [Rust](https://buildkite.com/docs/test-engine/test-collection/rust-collectors.md): Setup instructions for the Rust cargo test collector. - [Swift](https://buildkite.com/docs/test-engine/test-collection/swift-collectors.md): Setup instructions for the Swift XCTest test collector, including Xcode configuration. #### Other test collectors - [Overview](https://buildkite.com/docs/test-engine/test-collection/other-collectors.md): Options for unsupported test runners: JUnit XML import, JSON import, or custom collectors. - [Importing JUnit XML](https://buildkite.com/docs/test-engine/test-collection/importing-junit-xml.md): Importing JUnit XML test results to Test Engine using the test-collector plugin or curl. - [Importing JSON](https://buildkite.com/docs/test-engine/test-collection/importing-json.md): JSON format specification and import methods for uploading test results to Test Engine. - [Writing your own collectors](https://buildkite.com/docs/test-engine/test-collection/your-own-collectors.md): Guidance on building custom test collectors, with reference to the Ruby collector source code. - [CI environment variables](https://buildkite.com/docs/test-engine/test-collection/ci-environments.md): CI environment variables auto-detected by test collectors for Buildkite, CircleCI, and GitHub Actions. ### Workflows - [Overview](https://buildkite.com/docs/test-engine/workflows.md): How workflows map test observations (flakiness, new tests) to automatic actions using monitors and events. - [Monitors](https://buildkite.com/docs/test-engine/workflows/monitors.md): Monitor types for detecting test issues: transition count, passed on retry, probabilistic flakiness, new test. - [Actions](https://buildkite.com/docs/test-engine/workflows/actions.md): Workflow actions triggered on alarm/recover: add/remove labels, change state, send webhooks, Slack, Linear. ### Test Engine Client (bktec) - [Installing and using the client](https://buildkite.com/docs/test-engine/bktec/installing-and-using-the-client.md): Installation and configuration of bktec on Linux, macOS, and Docker, plus test splitting and retry settings. ### Notifications - [Email](https://buildkite.com/docs/test-engine/notifications/email.md): Scheduling a weekly email summary of the flakiest tests owned by your teams. ### Integrations - [Linear](https://buildkite.com/docs/test-engine/integrations/linear.md): Connecting Linear to Test Engine for automatic issue creation from workflow actions. - [Usage and billing](https://buildkite.com/docs/test-engine/usage-and-billing.md): How managed tests are counted and billed, including 90th percentile billing and legacy execution-based plans. - [Permissions](https://buildkite.com/docs/test-engine/permissions.md): Team-based permissions for test suites at organization and suite levels, including security settings. ## Package Registries - [Overview](https://buildkite.com/docs/package-registries.md): Overview of Package Registries for managing packages, container images, and modules across ecosystems. ### Introduction - [Background](https://buildkite.com/docs/package-registries/background.md): Background on packages, package management tools, and package creation tools across ecosystems. - [Getting started](https://buildkite.com/docs/package-registries/getting-started.md): Tutorial to create a JavaScript registry, build a Node.js package, and upload it to Package Registries. ### Registries - [Manage registries](https://buildkite.com/docs/package-registries/registries/manage.md): Creating source registries, managing packages, updating registry settings, and configuring storage. #### Private storage link - [Overview](https://buildkite.com/docs/package-registries/registries/private-storage-link.md): Overview of linking your own cloud storage (S3 or GCS) to Package Registries instead of Buildkite storage. - [Amazon S3](https://buildkite.com/docs/package-registries/registries/private-storage-link/amazon-s3.md): Step-by-step setup for linking an Amazon S3 bucket to Package Registries using CloudFormation. - [Google Cloud Storage](https://buildkite.com/docs/package-registries/registries/private-storage-link/google-cloud-storage.md): Step-by-step setup for linking a Google Cloud Storage bucket using Workload Identity Federation. ### Migration - [Overview](https://buildkite.com/docs/package-registries/migration.md): Overview of migrating packages from JFrog Artifactory, Cloudsmith, or Packagecloud to Package Registries. - [Export from JFrog](https://buildkite.com/docs/package-registries/migration/from-jfrog-artifactory.md): Exporting packages from JFrog Artifactory using the UI or JFrog CLI for migration to Buildkite. - [Export from Cloudsmith](https://buildkite.com/docs/package-registries/migration/from-cloudsmith.md): Exporting packages from Cloudsmith using the UI, REST API, or CLI for migration to Buildkite. - [Export from Packagecloud](https://buildkite.com/docs/package-registries/migration/from-packagecloud.md): Exporting packages from Packagecloud using the REST API with a shell script for migration to Buildkite. - [Import exported packages](https://buildkite.com/docs/package-registries/migration/import-to-package-registries.md): Importing exported packages into Buildkite registries using the Buildkite CLI or REST API. ### Security - [Overview](https://buildkite.com/docs/package-registries/security.md): Security overview covering OIDC policies, team permissions, and SLSA provenance for Package Registries. - [OIDC](https://buildkite.com/docs/package-registries/security/oidc.md): Configuring OIDC policies on registries to restrict access using Buildkite agent or third-party OIDC tokens. - [Permissions](https://buildkite.com/docs/package-registries/security/permissions.md): Team-based access permissions for registries at organization and registry levels, including enabling the feature. - [SLSA provenance](https://buildkite.com/docs/package-registries/security/slsa-provenance.md): Generating and storing SLSA provenance attestations for packages using the Buildkite plugin. ### Package ecosystems - [Overview](https://buildkite.com/docs/package-registries/ecosystems.md): List of supported package ecosystems: Alpine, Debian, Docker/OCI, Helm, JavaScript, Maven, Python, Ruby, and more. - [Alpine](https://buildkite.com/docs/package-registries/ecosystems/alpine.md): Publishing and installing Alpine (apk) packages using curl, the CLI, or apk commands. - [Debian](https://buildkite.com/docs/package-registries/ecosystems/debian.md): Publishing and installing Debian (deb) packages using curl, the CLI, or apt. - [Files](https://buildkite.com/docs/package-registries/ecosystems/files.md): Publishing and installing generic files of any type with semantic versioning requirements. #### Helm - [OCI-based](https://buildkite.com/docs/package-registries/ecosystems/helm-oci.md): Publishing and installing Helm charts using OCI-based registries (requires Helm 3.8.0+). - [Standard](https://buildkite.com/docs/package-registries/ecosystems/helm.md): Publishing and installing Helm charts using standard (non-OCI) Helm registries. - [Hugging Face](https://buildkite.com/docs/package-registries/ecosystems/hugging-face.md): Publishing and managing Hugging Face ML model versions in a private registry (customer preview). #### Java - [Maven](https://buildkite.com/docs/package-registries/ecosystems/maven.md): Publishing Java packages using Maven with settings.xml and pom.xml configuration. - [Gradle (Kotlin)](https://buildkite.com/docs/package-registries/ecosystems/gradle-kotlin.md): Publishing Java packages using Gradle with the Kotlin DSL and maven-publish plugin. - [Gradle (Groovy)](https://buildkite.com/docs/package-registries/ecosystems/gradle-groovy.md): Publishing Java packages using Gradle with the Groovy DSL and maven-publish plugin. - [JavaScript](https://buildkite.com/docs/package-registries/ecosystems/javascript.md): Publishing and installing JavaScript (npm) packages with .npmrc and package.json configuration. - [NuGet](https://buildkite.com/docs/package-registries/ecosystems/nuget.md): Publishing and installing NuGet (.NET) packages using dotnet CLI or nuget.config. - [OCI](https://buildkite.com/docs/package-registries/ecosystems/oci.md): Publishing and pulling Docker/OCI container images using docker commands. - [Python](https://buildkite.com/docs/package-registries/ecosystems/python.md): Publishing and installing Python (PyPI) packages using curl, the CLI, pip, or twine. - [Red Hat](https://buildkite.com/docs/package-registries/ecosystems/red-hat.md): Publishing and installing Red Hat (RPM) packages using curl, the CLI, or yum/dnf. - [Ruby](https://buildkite.com/docs/package-registries/ecosystems/ruby.md): Publishing and installing RubyGems packages using gem push or credentials configuration. - [Terraform](https://buildkite.com/docs/package-registries/ecosystems/terraform.md): Publishing and installing Terraform modules with semantic versioning requirements. ## Platform - [Overview](https://buildkite.com/docs/platform.md): Overview of platform-level features: team management, audit log, emojis, CLI, SSO, security, and integrations. ### Team management - [Overview](https://buildkite.com/docs/platform/team-management.md): Overview of team management features: permissions, 2FA enforcement, system banners, and API token management. - [User and team permissions](https://buildkite.com/docs/platform/team-management/permissions.md): Configuring user and team permissions at organization, team, pipeline, suite, and registry levels. - [Enforce 2FA](https://buildkite.com/docs/platform/team-management/enforce-2fa.md): Enforcing two-factor authentication for all users in a Buildkite organization. - [System banners](https://buildkite.com/docs/platform/team-management/system-banners.md): Creating organization-wide announcement banners visible to all members (Enterprise plan). ### Tutorials - [Two-factor authentication (2FA)](https://buildkite.com/docs/platform/tutorials/2fa.md): Step-by-step guide to enabling two-factor authentication on your Buildkite account. - [Audit log](https://buildkite.com/docs/platform/audit-log.md): Viewing and exporting organization activity events in the audit log (Enterprise plan). - [Emojis](https://buildkite.com/docs/platform/emojis.md): Using 300+ custom Buildkite emojis in pipelines, test suites, and registries, plus adding your own. ### CLI - [Overview](https://buildkite.com/docs/platform/cli.md): Overview of the Buildkite CLI (bk) for managing agents, builds, jobs, artifacts, and packages. - [Installation](https://buildkite.com/docs/platform/cli/installation.md): Installing the Buildkite CLI on Debian/Ubuntu, Red Hat, macOS (Homebrew), and Windows. - [Configuration](https://buildkite.com/docs/platform/cli/configuration.md): Creating and configuring API access tokens for the Buildkite CLI. #### Command-line reference - [Overview](https://buildkite.com/docs/platform/cli/reference.md): Index of all bk CLI command categories: agent, api, build, cluster, job, package, pipeline, and more. - [agent](https://buildkite.com/docs/platform/cli/reference/agent.md): CLI reference for bk agent: list, pause, resume, stop, and view agents. - [api](https://buildkite.com/docs/platform/cli/reference/api.md): CLI reference for bk api: interact with REST and GraphQL APIs from the command line. - [artifacts](https://buildkite.com/docs/platform/cli/reference/artifacts.md): CLI reference for bk artifacts: download and list build artifacts. - [build](https://buildkite.com/docs/platform/cli/reference/build.md): CLI reference for bk build: create, cancel, view, list, and rebuild builds. - [cluster](https://buildkite.com/docs/platform/cli/reference/cluster.md): CLI reference for bk cluster: list and view cluster information. - [configure](https://buildkite.com/docs/platform/cli/reference/configure.md): CLI reference for bk configure: add configuration for new organizations. - [init](https://buildkite.com/docs/platform/cli/reference/init.md): CLI reference for bk init: initialize a pipeline.yaml file. - [job](https://buildkite.com/docs/platform/cli/reference/job.md): CLI reference for bk job: cancel, list, log, reprioritize, retry, and view jobs. - [package](https://buildkite.com/docs/platform/cli/reference/package.md): CLI reference for bk package: push packages to a Buildkite registry. - [pipeline](https://buildkite.com/docs/platform/cli/reference/pipeline.md): CLI reference for bk pipeline: create, copy, list, convert, and view pipelines. - [use](https://buildkite.com/docs/platform/cli/reference/use.md): CLI reference for bk use: select which Buildkite organization to work with. - [user](https://buildkite.com/docs/platform/cli/reference/user.md): CLI reference for bk user: invite users to your organization. - [version](https://buildkite.com/docs/platform/cli/reference/version.md): CLI reference for bk version: display the installed CLI version. - [whoami](https://buildkite.com/docs/platform/cli/reference/whoami.md): CLI reference for bk whoami: display current user and organization info. ### SSO - [Overview](https://buildkite.com/docs/platform/sso.md): Overview of SSO support, listing providers (Okta, ADFS, GitHub, Google, Azure AD, OneLogin, custom SAML). - [Okta](https://buildkite.com/docs/platform/sso/okta.md): Configuring Okta as an SSO provider with SAML and optional SCIM user provisioning. - [ADFS](https://buildkite.com/docs/platform/sso/adfs.md): Step-by-step setup of Active Directory Federation Services (ADFS) as an SSO provider. - [Google Workspace](https://buildkite.com/docs/platform/sso/google-workspace.md): Setting up Google Workspace (G Suite) as an SSO provider using OpenID. - [Google Workspace (SAML)](https://buildkite.com/docs/platform/sso/google-workspace-saml.md): Setting up Google Workspace as an SSO provider using SAML instead of OpenID. - [GitHub](https://buildkite.com/docs/platform/sso/github-sso.md): Configuring GitHub as an SSO provider for your Buildkite organization. - [OneLogin](https://buildkite.com/docs/platform/sso/onelogin.md): Step-by-step setup of OneLogin as an SSO provider. - [Azure AD](https://buildkite.com/docs/platform/sso/azure-ad.md): Configuring Microsoft Entra ID (Azure AD) as an SSO provider using custom SAML. - [Custom SAML](https://buildkite.com/docs/platform/sso/custom-saml.md): Setting up any SAML 2.0 identity provider as an SSO provider for Buildkite. - [Set up with GraphQL](https://buildkite.com/docs/platform/sso/sso-setup-with-graphql.md): Programmatically setting up SSO providers using the GraphQL API. ### Security - [Token security](https://buildkite.com/docs/platform/security/tokens.md): Buildkite token types (API, agent, registry) and GitHub secret scanning integration. ### Integrations - [Slack Workspace](https://buildkite.com/docs/platform/integrations/slack-workspace.md): Connecting a Slack workspace for pipeline build and Test Engine workflow notifications. - [Accessibility](https://buildkite.com/docs/platform/accessibility.md): Accessibility features in the Buildkite web application, including theme options, keyboard navigation, screen reader support, and reduced motion preferences. - [Limits](https://buildkite.com/docs/platform/limits.md): Default usage limits by plan tier for builds, pipelines, agents, webhooks, and API requests. ## APIs - [Overview](https://buildkite.com/docs/apis.md): Overview of Buildkite APIs: REST, GraphQL, webhooks, MCP server, agent API, and authentication. - [Managing API access tokens](https://buildkite.com/docs/apis/managing-api-tokens.md): Creating, editing, auditing, and securing API access tokens with scopes and IP restrictions. - [API differences](https://buildkite.com/docs/apis/api-differences.md): Feature comparison between REST and GraphQL APIs, listing capabilities unique to each. ### REST - [Overview](https://buildkite.com/docs/apis/rest-api.md): REST API overview: schema, authentication, pagination, endpoints, and response conventions. - [Limits](https://buildkite.com/docs/apis/rest-api/limits.md): REST API rate limits (200 requests/min per org), response headers, and handling limit exceeded errors. - [Access token](https://buildkite.com/docs/apis/rest-api/access-token.md): REST endpoints to inspect and revoke the current API access token. - [Emojis](https://buildkite.com/docs/apis/rest-api/emojis.md): REST endpoint to list all emojis (including custom) for an organization. - [Meta](https://buildkite.com/docs/apis/rest-api/meta.md): REST endpoint returning Buildkite metadata including webhook IP addresses (no auth required). - [User](https://buildkite.com/docs/apis/rest-api/user.md): REST endpoint to get details about the authenticated user account. #### Organizations - [Overview](https://buildkite.com/docs/apis/rest-api/organizations.md): REST endpoints to list and retrieve Buildkite organization details. - [Members](https://buildkite.com/docs/apis/rest-api/organizations/members.md): REST endpoint to list all members of a Buildkite organization. - [Rate limits](https://buildkite.com/docs/apis/rest-api/organizations/rate-limits.md): REST endpoint to query an organization's current REST and GraphQL API rate limit status. #### Package Registries - [Registries](https://buildkite.com/docs/apis/rest-api/package-registries/registries.md): REST endpoints to create, list, get, update, and delete package registries. - [Registry tokens](https://buildkite.com/docs/apis/rest-api/package-registries/registry-tokens.md): REST endpoints to create and manage registry tokens for package installation. - [Packages](https://buildkite.com/docs/apis/rest-api/package-registries/packages.md): REST endpoints to publish, list, get, and delete packages in a registry. #### Pipelines - [Overview](https://buildkite.com/docs/apis/rest-api/pipelines.md): REST endpoints to create, list, get, update, archive, and delete pipelines. - [Agents](https://buildkite.com/docs/apis/rest-api/agents.md): REST endpoints to list, get, stop, pause, and resume agents. - [Annotations](https://buildkite.com/docs/apis/rest-api/annotations.md): REST endpoints to list and create Markdown annotations on builds. - [Artifacts](https://buildkite.com/docs/apis/rest-api/artifacts.md): REST endpoints to list and download build artifacts by build or job. - [Builds](https://buildkite.com/docs/apis/rest-api/builds.md): REST endpoints to list, get, create, cancel, and rebuild builds with filtering options. ##### Clusters - [Overview](https://buildkite.com/docs/apis/rest-api/clusters.md): REST endpoints to create, list, get, update, and delete clusters. - [Queues](https://buildkite.com/docs/apis/rest-api/clusters/queues.md): REST endpoints to create, list, get, update, pause, resume, and delete cluster queues. - [Agent tokens](https://buildkite.com/docs/apis/rest-api/clusters/agent-tokens.md): REST endpoints to create, list, get, update, and revoke cluster agent tokens. - [Cluster maintainers](https://buildkite.com/docs/apis/rest-api/clusters/maintainers.md): REST endpoints to list, create, get, and delete cluster maintainer assignments. - [Buildkite secrets](https://buildkite.com/docs/apis/rest-api/clusters/secrets.md): REST endpoints to create, list, get, update, and delete secrets in a cluster. - [Jobs](https://buildkite.com/docs/apis/rest-api/jobs.md): REST endpoints to retry, unblock, get log output, get environment variables, and delete jobs. - [Pipeline templates](https://buildkite.com/docs/apis/rest-api/pipeline-templates.md): REST endpoints to create and manage pipeline templates (Enterprise plan). - [Rules](https://buildkite.com/docs/apis/rest-api/rules.md): REST endpoints to create, list, get, and delete organization rules. #### Teams - [Overview](https://buildkite.com/docs/apis/rest-api/teams.md): REST endpoints to list, get, create, update, and delete teams. - [Members](https://buildkite.com/docs/apis/rest-api/teams/members.md): REST endpoints to list, create, update, and delete team member associations. - [Pipelines](https://buildkite.com/docs/apis/rest-api/teams/pipelines.md): REST endpoints to list, create, update, and delete team-pipeline associations. - [Suites](https://buildkite.com/docs/apis/rest-api/teams/suites.md): REST endpoints to list, create, update, and delete team-suite associations. #### Test Engine - [Flaky tests](https://buildkite.com/docs/apis/rest-api/test-engine/flaky-tests.md): Deprecated REST endpoint for listing flaky tests; use the tests endpoint with label=flaky instead. - [Quarantine](https://buildkite.com/docs/apis/rest-api/test-engine/quarantine.md): REST endpoints to skip, mute, and enable tests for quarantine management. - [Runs](https://buildkite.com/docs/apis/rest-api/test-engine/runs.md): REST endpoints to list and get test suite runs. - [Suites](https://buildkite.com/docs/apis/rest-api/test-engine/suites.md): REST endpoints to list, get, create, update, and delete test suites. - [Tests](https://buildkite.com/docs/apis/rest-api/test-engine/tests.md): REST endpoints to list and get individual tests with filtering by label, state, and scope. ### GraphQL - [Overview](https://buildkite.com/docs/apis/graphql-api.md): GraphQL API overview: endpoint, authentication, explorer console, introspection, and IDs. - [Console and CLI tutorial](https://buildkite.com/docs/apis/graphql/graphql-tutorial.md): Tutorial for running GraphQL queries using the Buildkite console and command line. #### Cookbook - [Overview](https://buildkite.com/docs/apis/graphql/graphql-cookbook.md): Index of GraphQL recipe collections for agents, builds, clusters, pipelines, teams, and more. - [Agents](https://buildkite.com/docs/apis/graphql/cookbooks/agents.md): GraphQL recipes for listing agent tokens, searching agents, revoking tokens, and stopping agents. - [Artifacts](https://buildkite.com/docs/apis/graphql/cookbooks/artifacts.md): GraphQL recipes for listing artifact download URLs from builds. - [Builds](https://buildkite.com/docs/apis/graphql/cookbooks/builds.md): GraphQL recipes for querying builds by ID, listing builds, creating, canceling, and rebuilding. - [Clusters](https://buildkite.com/docs/apis/graphql/cookbooks/clusters.md): GraphQL recipes for listing, creating, updating, and deleting clusters and their queues. - [GitHub rate limits](https://buildkite.com/docs/apis/graphql/cookbooks/github-rate-limits.md): GraphQL recipes for checking GitHub API rate limits on repository providers. - [Hosted agents](https://buildkite.com/docs/apis/graphql/cookbooks/hosted-agents.md): GraphQL recipes for creating and managing Buildkite hosted agent queues. - [Jobs](https://buildkite.com/docs/apis/graphql/cookbooks/jobs.md): GraphQL recipes for querying jobs by queue, concurrency group, and other criteria. - [Pipelines](https://buildkite.com/docs/apis/graphql/cookbooks/pipelines.md): GraphQL recipes for creating, listing, updating, archiving, and deleting pipelines. - [Pipeline templates](https://buildkite.com/docs/apis/graphql/cookbooks/pipeline-templates.md): GraphQL recipes for listing, creating, updating, and deleting pipeline templates. - [Registries](https://buildkite.com/docs/apis/graphql/cookbooks/registries.md): GraphQL recipes for listing organization registries. - [Rules](https://buildkite.com/docs/apis/graphql/cookbooks/rules.md): GraphQL recipes for listing, creating, and deleting organization rules. - [Organizations](https://buildkite.com/docs/apis/graphql/cookbooks/organizations.md): GraphQL recipes for org ID lookup, member management, SSO, 2FA enforcement, and audit events. - [Teams](https://buildkite.com/docs/apis/graphql/cookbooks/teams.md): GraphQL recipes for creating, listing, updating, and deleting teams and their members. #### Portals - [Overview](https://buildkite.com/docs/apis/graphql/portals.md): Creating restricted GraphQL API endpoints (portals) with scoped operations for machine-to-machine use. - [Limits](https://buildkite.com/docs/apis/graphql/portals/limits.md): Portal API rate limits: 200 requests/min per org with response header details. - [Ephemeral portal tokens](https://buildkite.com/docs/apis/graphql/portals/ephemeral-portal-tokens.md): Generating short-lived ephemeral tokens for portal access instead of long-lived service tokens. - [User-invoked portals](https://buildkite.com/docs/apis/graphql/portals/user-invoked-portals.md): Allowing org members to execute portal operations under their own identity and permissions. - [Limits](https://buildkite.com/docs/apis/graphql/graphql-resource-limits.md): GraphQL query complexity limits, cost calculation, pagination guidance, and rate limiting. ### MCP server - [Overview](https://buildkite.com/docs/apis/mcp-server.md): Overview of the Buildkite MCP server (remote and local) for AI tool integration with Buildkite data. #### Tools - [Overview](https://buildkite.com/docs/apis/mcp-server/tools.md): List of available MCP tools organized by category: pipelines, builds, jobs, agents, test engine, and more. - [Toolsets](https://buildkite.com/docs/apis/mcp-server/tools/toolsets.md): Configuring MCP server toolsets to selectively enable categories of tools for AI agents. #### Remote MCP server - [Configuring AI tools](https://buildkite.com/docs/apis/mcp-server/remote/configuring-ai-tools.md): Configuring Amp, Claude, Cursor, VS Code, Windsurf, and other AI tools with the remote MCP server. #### Local MCP server - [Installing the server](https://buildkite.com/docs/apis/mcp-server/local/installing.md): Installing the local Buildkite MCP server using Docker, Homebrew, npm, or binary download. - [Configuring AI tools](https://buildkite.com/docs/apis/mcp-server/local/configuring-ai-tools.md): Configuring AI tools (Amp, Claude, Cursor, VS Code, and more) with the local MCP server. ### Webhooks - [Overview](https://buildkite.com/docs/apis/webhooks.md): Overview of outgoing webhooks for Pipelines, Test Engine, and Package Registries, plus incoming webhooks. #### Pipelines - [Overview](https://buildkite.com/docs/apis/webhooks/pipelines.md): Setting up pipeline webhooks, configuring tokens/signatures, and available HTTP headers. - [Build events](https://buildkite.com/docs/apis/webhooks/pipelines/build-events.md): Webhook event payloads for build.scheduled, build.running, build.failing, build.finished, build.skipped. - [Job events](https://buildkite.com/docs/apis/webhooks/pipelines/job-events.md): Webhook event payloads for job lifecycle events: scheduled, started, finished, activated. - [Agent events](https://buildkite.com/docs/apis/webhooks/pipelines/agent-events.md): Webhook event payloads for agent connection, disconnection, lost, and stop events. - [Ping events](https://buildkite.com/docs/apis/webhooks/pipelines/ping-events.md): Webhook ping event payload sent when notification settings change. - [Agent token events](https://buildkite.com/docs/apis/webhooks/pipelines/agent-token-events.md): Webhook event payload for blocked agent registration attempts due to IP restrictions. - [Integrations](https://buildkite.com/docs/apis/webhooks/pipelines/integrations.md): Third-party webhook integrations: AWS Lambda, Google Cloud Run, RequestBin, and Zapier. #### Test Engine - [Overview](https://buildkite.com/docs/apis/webhooks/test-engine.md): Test Engine webhooks triggered by workflow alarm/recover actions with JSON payloads. #### Package Registries - [Overview](https://buildkite.com/docs/apis/webhooks/package-registries.md): Webhooks triggered when packages are created in a registry, with setup and payload details. #### Incoming webhooks - [Pipeline triggers](https://buildkite.com/docs/apis/webhooks/incoming/pipeline-triggers.md): Incoming webhooks that create builds from external systems (GitHub, Linear, generic HTTP POST). ### Agent - [Overview](https://buildkite.com/docs/apis/agent-api.md): Agent REST API overview for metrics, stacks, and internal job endpoints on agent.buildkite.com. - [Metrics](https://buildkite.com/docs/apis/agent-api/metrics.md): Agent API endpoint returning idle/busy agent counts, job totals, and queue statistics. - [Stacks](https://buildkite.com/docs/apis/agent-api/stacks.md): Agent API endpoints for implementing a stack: acquiring jobs, starting agents, and heartbeats. - [Internal job](https://buildkite.com/docs/apis/agent-api/internal-job.md): Internal Unix socket API for querying and mutating job environment variables within a running agent. ### Model providers - [Overview](https://buildkite.com/docs/apis/model-providers.md): Overview of model providers for LLM access from pipelines, with Anthropic support and API key management. - [Anthropic](https://buildkite.com/docs/apis/model-providers/anthropic.md): Anthropic model provider setup: Claude Code compatibility, supported models, base URL, and usage in pipelines. ## Topic guides Focused subsets of this documentation are available for specific topics: - [Buildkite AI Tools and MCP Documentation](https://buildkite.com/docs/llms-ai-tools-and-mcp.txt): Buildkite documentation for AI tool integration, covering the MCP server (remote and local), available tools and toolsets, model providers, GraphQL portals, and configuring AI coding agents. - [Getting Started with Buildkite Pipelines](https://buildkite.com/docs/llms-getting-started.txt): Buildkite documentation for getting started with Buildkite Pipelines, covering first pipeline creation, architecture, dashboard walkthrough, build page, pipeline converter, glossary, and connecting source control. - [Why Buildkite Pipelines](https://buildkite.com/docs/llms-why-buildkite-pipelines.txt): Buildkite documentation explaining the advantages of Buildkite Pipelines, including comparisons with Jenkins, GitLab, and GitHub Actions, getting started guides, architecture overview, pipeline converter, migration guides, and source control setup. - [Migrating to Buildkite Pipelines](https://buildkite.com/docs/llms-migrating-to-buildkite.txt): Buildkite documentation for migrating to Buildkite Pipelines from other CI/CD tools, covering migration guides from Jenkins, GitHub Actions, and Bamboo, plus the AI-powered pipeline converter for translating CI configurations. - [Buildkite Pipelines Documentation](https://buildkite.com/docs/llms-pipelines.txt): Buildkite documentation for Buildkite Pipelines, covering getting started, architecture, configuration, best practices, and API integration. - [Buildkite Pipeline Configuration Documentation](https://buildkite.com/docs/llms-pipeline-configurations.txt): Buildkite documentation for configuring pipelines, including step types, dynamic pipelines, environment variables, workflows, artifacts, and build settings. - [Buildkite Dynamic Pipelines Documentation](https://buildkite.com/docs/llms-dynamic-pipelines.txt): Buildkite documentation for dynamic pipelines, including runtime step generation, the Buildkite SDK, if_changed conditions, tutorials, and example pipelines. - [Buildkite Monorepo Documentation](https://buildkite.com/docs/llms-monorepos.txt): Buildkite documentation for building and managing monorepo CI/CD pipelines, including change detection, dynamic pipelines, and best practices. - [Buildkite Best Practices Documentation](https://buildkite.com/docs/llms-best-practices.txt): Buildkite documentation for CI/CD best practices, covering pipeline design and structure, agent management, Docker-based builds, parallelization, monorepos, dependency management, secrets, infrastructure as code, caching, monitoring, and security controls. - [Buildkite Deployments Documentation](https://buildkite.com/docs/llms-deployments.txt): Buildkite documentation for deployment pipelines, including deploying to AWS Lambda, Kubernetes, Argo CD, Heroku, deployment plugins, and visibility with Backstage. - [Buildkite Agent Documentation](https://buildkite.com/docs/llms-agent.txt): Buildkite documentation for the Buildkite agent, covering self-hosted and Buildkite hosted agents, installation, configuration, CLI reference, queues, hooks, and lifecycle. - [Buildkite Self-Hosted Agent Documentation](https://buildkite.com/docs/llms-self-hosted-agents.txt): Buildkite documentation for self-hosted agents, covering installation on Linux, macOS, Windows, and Docker, running on AWS, GCP, and Kubernetes, agent configuration, security, monitoring, and the CLI reference. - [Buildkite Hosted Agent Documentation](https://buildkite.com/docs/llms-hosted-agents.txt): Buildkite documentation for Buildkite hosted agents, covering Linux and macOS instances, cache volumes, internal container registry, remote Docker builders, network security, code access, pipeline migration, and terminal access. - [Buildkite Integrations Documentation](https://buildkite.com/docs/llms-integrations.txt): Buildkite documentation for integrations with third-party tools and services, including plugins, source control providers, notifications, observability, deployments, and platform integrations. - [Buildkite Security Documentation](https://buildkite.com/docs/llms-security.txt): Buildkite documentation for security, including secrets management, OIDC, clusters, permissions, SSO, agent security, signed pipelines, and security best practices. - [Buildkite Governance Documentation](https://buildkite.com/docs/llms-governance.txt): Buildkite documentation for governance and compliance, including pipeline templates, build exports, audit logging, team management, and platform controls. - [Buildkite User Management Documentation](https://buildkite.com/docs/llms-user-management.txt): Buildkite documentation for user and team management, covering permissions, SSO providers, two-factor authentication, audit logging, API token management, and system banners. - [Buildkite Insights Documentation](https://buildkite.com/docs/llms-insights.txt): Buildkite documentation for pipeline and cluster insights, including waterfall views, cluster metrics, and queue monitoring. - [Buildkite Troubleshooting and Debugging Documentation](https://buildkite.com/docs/llms-debugging.txt): Buildkite documentation for debugging and troubleshooting builds, agents, and infrastructure, covering log output management, build annotations, terminal access, agent lifecycle, and platform-specific troubleshooting guides. - [Buildkite Test Engine Documentation](https://buildkite.com/docs/llms-test-engine.txt): Buildkite documentation for Buildkite Test Engine, covering test suites, test collection, flaky test management, workflows, bktec client, and API integration. - [Buildkite Package Registries Documentation](https://buildkite.com/docs/llms-packages.txt): Buildkite documentation for Buildkite Package Registries, covering registry management, package ecosystems, security, migration, and API integration. - [Buildkite CLI Tools Documentation](https://buildkite.com/docs/llms-cli-tools.txt): Buildkite documentation for CLI tools, covering the Buildkite CLI (bk) for managing pipelines, builds, and agents, and the buildkite-agent CLI reference for agent operations, artifacts, meta-data, and pipeline uploads. - [Buildkite APIs Documentation](https://buildkite.com/docs/llms-buildkite-apis.txt): Buildkite documentation for APIs, covering the REST API, GraphQL API, webhooks, MCP server, agent API, model providers, API token management, portals, and rate limits.