2011년 AWS re:Invent에서 CodeBuild의 전신 격인 CI 인프라 아이디어가 처음 언급되기 전까지, AWS 사용자들은 Jenkins를 EC2에 직접 올리거나 외부 SaaS CI 서비스를 쓰는 것이 일반적이었다. 문제는 Jenkins가 "설치해야 하는 서버"였다는 점이다. 서버를 관리해야 하고, 플러그인이 충돌하고, 빌드 큐가 쌓이면 더 큰 인스턴스로 업그레이드해야 했다. 2016년 CodeBuild가 정식 출시되면서 AWS는 다른 접근을 택했다 — 빌드 환경 자체를 컨테이너로 띄우고, 빌드가 끝나면 버린다. 그리고 "어떻게 빌드할 것인가"는 buildspec.yml이라는 파일 하나에 담기로 했다.
이것이 Pipeline-as-Code의 CodeBuild 버전이다. buildspec.yml을 이해하는 것은 단순히 YAML 문법을 외우는 것이 아니다. "빌드 절차가 코드가 된다"는 철학을 이해하는 것이고, 그 위에서 보안·캐시·아티팩트·테스트 시각화가 어떻게 맞물리는지를 파악하는 일이다.
version: 0.2 # 0.1은 2017년 deprecated. 반드시 0.2.