AWS CodeBuild is the cloud service that enables an IT developer to automate the server builds of the application in the AWS cloud. With of help of this service, developers compile, test and deploy the source code as a building project by using AWS Command Line Interface (AWS CLI).
This AWS CodeBuild gets the source code from multiple supporters like AWS code commit, S3, GitHub. Here the developers prepare builds commands in the YAML file, which control CPU, memory and source integration that adds into other services. Unit testing is done as part of the build stage in the AWS CodeBuild.
AWS CodeBuild is a fully managed continuous integration service that compiles source code, runs tests, and produces software packages that are ready to deploy.
It compiles source code, runs tests, produces software packages to deploy.
It can scales continuously and processes multiple builds concurrently
It prepackaged build environments are also provided
It can also create custom build environments to use own build tools.
⦁ Run CodeBuild by
⦁ CodeBuild or AWS CodePipeline console.
⦁ automate by AWS CLI or
⦁ the AWS SDKs.
AWS CodeBuild Concepts:
Build Project: A build project defines how CodeBuild will run a build. It includes information such as where to get the source code, which build environment to use, the build commands to run, and where to store the build output.
Build Environment: A build environment is the combination of operating system, programming language runtime, and tools used by CodeBuild to run a build.
Build artifacts: A collection of input files is called build input artifacts or build input and a deployable version of a source code is called build output artifact or build output.
Build Specification: The build specification is a YAML file that lets you choose the commands to run at each phase of the build and other settings. Without a build spec, CodeBuild cannot successfully convert your build input into build output or locate the build output artifact in the build environment to upload to your output bucket. If you include a build spec as part of the source code, by default, the build spec file must be named buildspec.yml and placed in the root of your source directory.
AWS CodeBuild Pricing:
You are charged for compute resources based on the duration it takes for your build to execute. The per-minute rate depends on the compute type you use.
AWS CodeBuild – Monitoring and Security:
You can specify a key stored in the AWS Key Management Service to encrypt your artifacts.
CodeBuild provides security and separation at the infrastructure and execution levels.
You can use Amazon CloudWatch to watch your builds, report when something is wrong, and take automatic actions when appropriate.
You can monitor your builds at two levels:
At the project level: These metrics are for all builds in the specified project only.
At the AWS account level: These metrics are for all builds in one account
ProjectName is the only AWS CodeBuild metrics dimension. If it is specified, then the metrics are for that project. If it is not specified, then the metrics are for the current AWS account.
Why should I use CodeBuild?
Instead of having to set up, patch, and maintain the build server software yourself, you can use CodeBuild’s fully managed experience. You submit your build jobs to CodeBuild, and it runs them in temporary compute containers that are created fresh on every build and then discarded when finished. You don’t need to manage build server hardware or software. CodeBuild also automatically scales to meet your build volume. It immediately processes each build you submit and can run separate builds concurrently, meaning your builds are never left waiting in a queue.