I have been working with AWS CodeBuild for about two years now. I am working with AWS CodeCommit. AWS CodeBuild integrates with AWS CodeDeploy and AWS CodeCommit in a sequential pipeline. When we trigger something with AWS CodeCommit, the consecutive steps are triggered afterward.
AWS CodeBuild operates between AWS CodeCommit and AWS CodeDeploy. After code is committed to AWS CodeCommit, if the build is automatic, it triggers the pipeline. The pipeline consists of AWS CodePipeline, AWS CodeBuild, and AWS CodeDeploy. AWS CodeBuild manages our code execution for various languages including Java, NodeJS, Android, Kotlin, or others. It helps us build the code and can also assist in deploying that code through AWS CodeDeploy.
AWS CodeBuild offers environment variables, also known as project secrets. These can store GitHub tokens for Git repositories or certificates for iOS/Android builds. The environment variables feature includes functionality to encrypt and decrypt secrets within AWS CodeBuild itself. The permission structure operates through IAM policies, ensuring least privilege access and preventing unauthorized usage.
AWS CodeBuild's support for a wide range of programming languages and build environments benefits development teams significantly in terms of productivity and ease of use. There are extensive libraries of code structures available, making it a universal pipeline. All programming languages I have worked with are supported in AWS CodeBuild, eliminating the need for alternative deployment services.
The service supports iOS builds, Kotlin, Java, NodeJS, and ReactJS. AWS has made it accessible to all languages, allowing developers to simply open the console and trigger builds. AWS manages all the background server operations for building or deploying code. For standard builds such as ReactJS or Java, a Linux or Ubuntu server suffices. AWS provides its own operating system for these purposes.
For builds requiring physical servers, such as Apple macOS server, AWS rents Mac minis specifically for iOS and SwiftUI builds. While this incurs higher charges, it demonstrates AWS's commitment to providing comprehensive solutions for all use cases.