You do not need to reinvent the wheel for known programming languages and tooling dependencies. CodeBuild offers several Windows/Linux environments and programming runtimes such as Android, Golang, Dotnet, Java, Node.js, and so on. With specifications as high as 255 GB of RAM, 72 vCPUs, and 824 GB of disk space on offer, you can support complex software build and test procedures.
The beauty is that you just pay for the duration your build runs. I am sure you can already imagine how different this is from traditional infrastructure provisioning.
Want to run these builds locally? You can also do this by setting up the CodeBuild agent on your local machine.
Tip
Most enterprises end up building more or less similar build and test procedures for a specific target environment or programming language. You can leverage readymade case-based samples to jumpstart your CodeBuild implementations. More than 20 templates are available at https://docs.aws.amazon.com/codebuild/latest/userguide/use-case-based-samples.html.
Amazon CloudWatch event integrations
Similar to CodeCommit, some important metrics are passed by the service to Amazon CloudWatch. By doing this, you can derive interesting insights from data, such as how long it took to download your source code and run your builds, the number of times your builds failed, the resource utilization of build executions, and so on.
Think big
You can build a CloudWatch dashboard that aggregates, and highlights, sprint metrics every week to your developers. You can combine key data points from CodeCommit and CodeBuild to build a 10,000-foot view of the overall development and build/test operations. Outliers can help identify edge cases, and being data-driven leads to further optimizations. Overall transparency around this helps software teams move faster – a key goal for DevOps philosophy.
Test report integrations
If your tools support reporting formats such as JUnit XML, Cucumber JSON, and others,CodeBuild can generate reports from them and show them on your project dashboard. This can help troubleshoot build execution problems.
Integration with existing Jenkins implementations
A common challenge when working with Jenkins is the overall management of your build farm.
CodeBuild offers seamless integration with the Jenkins control plane and all build jobs are offloaded to the AWS service, allowing the use of cloud capabilities. Such hybrid implementations abstract any changes in the existing tooling while using the cloud’s scale and elasticity.