AWS CodeBuild is a managed cloud service that enables an IT developer to automate and manage server builds for applications that reside in the Amazon Web Services (AWS) public cloud.
A developer uses the service to compile, test and deploy source code as build projects through the AWS Command Line Interface (AWS CLI). AWS CodeBuild pulls source code from AWS CodeCommit, Simple Storage Service (S3) and GitHub. The developer specifies build commands in a YAML file, a compute type that controls CPU and memory, and source integrations that plug into other services. AWS CodeBuild can run unit tests as part of the build stage.
AWS CodeBuild supports Docker container images
The application developer can define a custom build environment by using a Docker container image, which includes operating system, programming language and tools. CodeBuild supports several programming languages and frameworks, including Java, Ruby, Python, Go, Node.js, Android and Docker.
AWS CodeBuild automatically patches and maintains server builds, and it scales as volume increases. The service creates temporary compute containers for server builds to provide a new isolated environment for each job. It also runs multiple builds concurrently. AWS CodeBuild discards containers when the build finishes and uploads build artifacts to S3 buckets or other storage locations.
Integration with other AWS code services
The AWS CodeBuild service integrates with other AWS code services, including AWS CodePipeline. A developer can apply encryption to build artifacts with the AWS Key Management Service. CodeBuild also integrates with the open source continuous delivery tool Jenkins via a plugin.
The AWS Management Console, AWS CLI, software development kits and application programming interfaces work with AWS CodeBuild to display detailed information about each build, such as start and end times, status, commit ID and branch.