It’s common among many development teams – often larger teams, but especially those using agile project management and continuous deployment – to automate the process of application builds. Depending on the complexity of the software, these builds can be frequent and the resources needed to conduct the builds can be costly if persisted. Orchestrating them is fraught with peril – many a project has been derailed by the nightly build that failed to fire off – and usually a fair amount of DevOps time is spent managing the build process.
Amazon’s announcement today of its CodeBuild service takes square aim at these logistical problems, by providing automated build services.
CodeBuild removes the need to dedicate specific compute resources to builds. Instead, AWS automatically creates and destroys the resources necessary to handle each build and allows you to automate your build stream, too.
This should save most development teams money (since the build environment is only persisted for as long as it’s needed), but more importantly, should eliminate build backlogs.
All you specify for each build is:
- A repository. CodeCommit, GitHub or a plain old S3 bucket will work.
- The language or environment to use. Node.js, Java, Python, Ruby, Go, Docker and Android are supported.
- An IAM role. You need to grant CodeBuild permission to allocate the compute resources needed to make your build.
- The commands you need to run for the build.
- The memory and vCPUs you want dedicated to the build. CodeBuild will create and destroy instances as needed.
AWS CodePipeline (for continuous integration/continuous delivery) is fully supported, and you can use CodeBuild for Lambda functions. Automation is conducted through the SDKs or CLI. You can manage CodeBuild through the Management Console, APIs and CLI.
CodeBuild is available now. Free Tier includes 100 minutes of the smallest build instance size.