{
  "slug": "buildkite",
  "name": "Buildkite",
  "category": "CI/CD",
  "website": "https://buildkite.com",
  "description": "CI/CD platform that runs pipelines on the customer's own infrastructure.",
  "openRfpCount": 0,
  "url": "https://saasrfp.com/vendors/buildkite",
  "features": [
    {
      "slug": "deployment-environments",
      "name": "Deployment environments",
      "description": "Tracks deploys to staging and production environments.",
      "group": "Deployment & Security"
    },
    {
      "slug": "manual-approvals",
      "name": "Manual approvals",
      "description": "Pauses a pipeline until a person approves the next step.",
      "group": "Deployment & Security"
    },
    {
      "slug": "secrets-management",
      "name": "Secrets management",
      "description": "Stores credentials and injects them into jobs at run time.",
      "group": "Deployment & Security"
    },
    {
      "slug": "audit-logs",
      "name": "Audit logs",
      "description": "Records who changed pipelines, settings and secrets.",
      "group": "Deployment & Security"
    },
    {
      "slug": "pipeline-as-code",
      "name": "Pipeline as code",
      "description": "Defines build and deploy pipelines in a file stored in the repository.",
      "group": "Pipelines"
    },
    {
      "slug": "parallel-jobs",
      "name": "Parallel jobs",
      "description": "Runs several jobs at the same time to shorten a pipeline.",
      "group": "Pipelines"
    },
    {
      "slug": "build-matrix",
      "name": "Build matrix",
      "description": "Runs one job across many versions, platforms or configurations.",
      "group": "Pipelines"
    },
    {
      "slug": "pipeline-triggers",
      "name": "Pipeline triggers",
      "description": "Starts pipelines on pushes, pull requests, tags, schedules or API calls.",
      "group": "Pipelines"
    },
    {
      "slug": "dynamic-pipelines",
      "name": "Dynamic pipelines",
      "description": "Generates pipeline steps at run time from a script.",
      "group": "Platform-Specific"
    },
    {
      "slug": "test-analytics",
      "name": "Test analytics",
      "description": "Finds slow and flaky tests across builds.",
      "group": "Platform-Specific"
    },
    {
      "slug": "hosted-runners",
      "name": "Hosted runners",
      "description": "Runs jobs on vendor-managed Linux, Windows or macOS machines.",
      "group": "Runners & Compute"
    },
    {
      "slug": "self-hosted-runners",
      "name": "Self-hosted runners",
      "description": "Runs jobs on machines that the customer manages.",
      "group": "Runners & Compute"
    },
    {
      "slug": "docker-builds",
      "name": "Docker builds",
      "description": "Builds container images and runs jobs inside containers.",
      "group": "Runners & Compute"
    },
    {
      "slug": "dependency-caching",
      "name": "Dependency caching",
      "description": "Caches dependencies between runs to speed up builds.",
      "group": "Runners & Compute"
    },
    {
      "slug": "test-reporting",
      "name": "Test reporting",
      "description": "Collects test results and shows failures for each run.",
      "group": "Testing & Artifacts"
    },
    {
      "slug": "test-splitting",
      "name": "Test splitting",
      "description": "Spreads a test suite across parallel jobs by timing data.",
      "group": "Testing & Artifacts"
    },
    {
      "slug": "build-artifacts",
      "name": "Build artifacts",
      "description": "Stores files that a job produces for later download or deploy.",
      "group": "Testing & Artifacts"
    }
  ],
  "openRfps": []
}