Developer Tools | AWS CodeBuild Flashcards
What is AWS CodeBuild?
General
AWS CodeBuild | Developer Tools
AWS CodeBuild is a fully managed build service in the cloud. CodeBuild compiles source code, runs tests, and produces packages that are ready to deploy. CodeBuild eliminates the need to provision, manage, and scale your own build servers. CodeBuild scales continuously and processes multiple builds concurrently, so your builds don’t have to wait in a queue. You can get started quickly by using CodeBuild prepackaged build environments, or you can use custom build environments to use your own build tools. With CodeBuild, you only pay by the minute.
Why should I use CodeBuild?
General
AWS CodeBuild | Developer Tools
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.
What is the pricing for CodeBuild?
General
AWS CodeBuild | Developer Tools
See the AWS CodeBuild pricing page for details.
Can I use CodeBuild to automate my release process?
Using CodeBuild
AWS CodeBuild | Developer Tools
Yes. CodeBuild is integrated with AWS CodePipeline. You can add a build action and set up a continuous integration and continuous delivery process that runs in the cloud. You can learn how to set up and monitor your builds from the CodePipeline console here.
What is a build project?
Using CodeBuild
AWS CodeBuild | Developer Tools
A build project is used to define 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. A build environment is the combination of operating system, programming language runtime, and tools used by CodeBuild to run a build.
How do I configure a build project?
Using CodeBuild
AWS CodeBuild | Developer Tools
A build project can be configured through the console or the AWS CLI. You specify the source repository location, the runtime environment, the build commands, the IAM role assumed by the container, and the compute class required to run the build. Optionally, you can specify build commands in a buildspec.yml file.
Which source repositories does CodeBuild support?
Using CodeBuild
AWS CodeBuild | Developer Tools
CodeBuild can connect to AWS CodeCommit, S3, GitHub, and GitHub Enterprise to pull source code for builds.
Which programming frameworks does CodeBuild support?
Using CodeBuild
AWS CodeBuild | Developer Tools
CodeBuild provides preconfigured environments for supported versions of Java, Ruby, Python, Go, Node.js, Android, .NET Core for Linux, and Docker. You can also customize your own environment by creating a Docker image and uploading it to the Amazon EC2 Container Registry or the Docker Hub registry. You can then reference this custom image in your build project.
What happens when a build is run?
Using CodeBuild
AWS CodeBuild | Developer Tools
CodeBuild will create a temporary compute container of the class defined in the build project, load it with the specified runtime environment, download the source code, execute the commands configured in the project, upload the generated artifact to an S3 bucket, and then destroy the compute container. During the build, CodeBuild will stream the build output to the service console and Amazon CloudWatch Logs.
How do I set up my first build?
Using CodeBuild
AWS CodeBuild | Developer Tools
Sign in to the AWS Management Console, create a build project, and then run a build. For an introduction to CodeBuild, see Getting Started, which includes a step-by-step tutorial.
Can I use CodeBuild with Jenkins?
Using CodeBuild
AWS CodeBuild | Developer Tools
Yes. The CodeBuild Plugin for Jenkins can be used to integrate CodeBuild into Jenkins jobs. The build jobs are sent to CodeBuild, eliminating the need for provisioning and managing the Jenkins worker nodes.
How can I view past build results?
Using CodeBuild
AWS CodeBuild | Developer Tools
You can access your past build results through the console or the API. The results include outcome (success or failure), build duration, output artifact location, and log location.
How can I debug a past build failure?
Security
AWS CodeBuild | Developer Tools
You can debug a build by inspecting the detailed logs generated during the build run.
Can I encrypt the build artifacts stored by CodeBuild?
Security
AWS CodeBuild | Developer Tools
Yes. You can specify a key stored in the AWS Key Management Service (AWS KMS) to encrypt your artifacts.
How does CodeBuild isolate builds that belong to other customers?
Security
AWS CodeBuild | Developer Tools
CodeBuild runs your build in fresh environments isolated from other users and discards each build environment upon completion. CodeBuild provides security and separation at the infrastructure and execution levels.