[DEVELOPER] Developer tools Flashcards

CodeCommit, CodeBuild, CodeDeploy, CodePipeline (14 cards)

1
Q

What is the primary purpose of AWS CodeCommit?

A

It is a fully managed, secure Git repository service used for storing source code and is the trigger for AWS CodePipeline workflows.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How do users authenticate to CodeCommit?

A

They use IAM credentials (for HTTPS) or SSH keys that are mapped to an IAM user, ensuring access control is managed via IAM policies.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What AWS service is typically used to automatically run a build, test, and package application code stored in CodeCommit?

A

AWS CodeBuild

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How can you automate actions (like running tests or sending notifications) when a pull request is created or code is pushed to CodeCommit?

A

Use Amazon EventBridge to detect CodeCommit repository events and trigger targets like AWS Lambda or AWS CodePipeline.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the best practice for giving a developer granular access (e.g., only allowing read/write on a specific branch) to a CodeCommit repository?

A

Use IAM policies with CodeCommit condition keys (e.g., codecommit:References) to restrict access based on branch name patterns.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

If you want to require two approvals before code can be merged into the main branch, what CodeCommit feature should you configure?

A

Pull Request Approvals combined with a Branch Protection Rule

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the primary function of AWS CodeBuild?

A

A fully managed continuous integration service that compiles source code, runs tests, and produces ready-to-deploy software packages (artifacts).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the build configuration file for CodeBuild, and where is it located?

A

It is called buildspec.yml, and it must be located in the root directory of your source code repository (e.g., CodeCommit, S3, or GitHub).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the four main phases in a CodeBuild buildspec.yml file?

A
  1. install (Install dependencies/tools),
  2. pre_build (Preparation commands),
  3. build (Actual build commands),
  4. post_build (Cleanup, testing, notifications).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Where does CodeBuild store the final packaged application (artifacts) by default?

A

In an Amazon S3 bucket. The artifacts section of the buildspec.yml defines which files are packaged and uploaded.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How can you securely pass secrets like API keys or database credentials to a CodeBuild job?

A

By storing them in AWS Secrets Manager or AWS Systems Manager Parameter Store (SecureString), and referencing them in the CodeBuild environment variable settings.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the two types of compute environments for CodeBuild?

A
  1. Managed (AWS-owned) compute
  2. Self-Managed compute using VPC resources (e.g., if you need access to resources in your VPC like an RDS database).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

If a build needs more processing power or memory, how can you scale CodeBuild?

A

By choosing a larger Compute Type (e.g., BUILD_GENERAL1_LARGE or BUILD_GENERAL1_2XLARGE) during project configuration.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What happens if an AWS CodeBuild project fails?

A

The entire build process immediately stops, and the logs are sent to Amazon CloudWatch Logs for debugging. The failure stops the upstream CodePipeline process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly