Turbocharge your code builds with AWS CodeBuild
In this video, Brian FarnHill, Developer Specialist Solutions Architect at AWS explains how users can enhance their builds with different features like batch builds, code coverage reporting, and build level metrics.
In addition, he also explains how builds can be made efficient by integrating with Amazon EFS, and how machine access can be established with the AWS session manager. This video will help in knowing the use cases that these different features enable and how you can use them beneficially to turbocharge your builds.
At 0:49, the speaker briefs the agenda which includes releases made by the CodeBuild team that have resulted in environmental improvements, reporting improvements, and integration improvements.
Environmental, Reporting and Integration environments
The speaker mentions that AWS CodeBuild has been very popular in the last few years. This is mainly because this integration service takes care of compiling the source code, executing the tests as well as producing software packages that can be immediately deployed. Users need not manage, provision or scale their own servers.
At 1:38, Brian mentions the releases made by the CodeBuild team during the year 2020. The release includes adding support for Amazon Elastic file system (Amazon EFS), AWS step function integration, adding notifications in slack, including test reporting, adding more shell environments, including AWS session manager support, including amazon Cloudwatch metrics, and adding code coverage reporting.
At 3:33, the speaker talks about the improvements in the environment that has been achieved with these new releases. He firstly briefs on ‘AWS session manager support’. Users can use the one-click browser-based shell or AWS CLI to know information and progress on an AWS session. Make sure to pause the build with ‘codebuild-breakpoint’ to allow troubleshooting and you can resume with the code-build resume.
One other environment improvement is that we now have additional shell environments. The latest update is that bash support is now available in Linux and cmd support is available in Windows.
At 5:50, the speaker briefs that Amazon EFS and CodeBuild must be connected to an Amazon Virtual Private Cloud (VPC). With the latest update, Amazon EFS Shares can be connected to CodeBuild environments.
At 7:17, the speaker begins to explain the reporting improvements that were achieved as a result of these feature releases or updates. With the latest update, users can now see the unit test reports in a graphical fashion. This is not only restricted to unit tests, users can also view the detailed code coverage reports in a graphical fashion thereby helping people understand the data more easily.
At 8:19, the speaker briefs on utilization metrics on cloud watch. The metrics captured include CPU, memory, disk I/O. With the latest updates, you can view per build metrics within Code-Build.
At 10:15, Brian explains the integration improvements that were achieved as a result of releasing updates or features to the CodeBuild. The first is the ‘Parallel and coordinated build execution’. Three different types of orchestration (Building graph, list, and matrix) helps in defining the dependencies between the builds. This allows parallel execution of code builds based on the dependencies established through a graph, list, or matrix.
At 14:00, Brian talks about the ‘AWS Step function integration’ which is commonly used and appreciated by many people. Step functions can be used to automate complex builds. Conditionally include the builds that perform static code analysis, test, or integrate results into additional steps. AWS Step function integration works perfectly fine when the user is trying to do a continuous integration build and every single commit needs to be run and offer fast feedback to the user.
At 16:10, Brian outlines when to use step functions to build. AWS step function integration works well for continuous integration models, when you need to connect to additional AWS services like Amazon ECS, EMR, Glue, and for allowing concurrent execution of builds with multiple instances. This is then followed by the demo.
Once the user provides a ‘build project’ to the CodeBuild, the complete integration build process is taken care of. The developer needs to make sure that the ‘build project’ has information on how to run the build, and where to get the source code and what command to run, and also the location to store the build output.
In this video, the speaker begins by stating the different releases or updates that were made to the CodeBuild application during the year 2020. He also covers the environment improvements, reporting improvements that were achieved as a result of new releases. Now, the end-users can build their application through CodeBuild in a rapid way with a lot of benefits.