AWS CodeDeploy | Concepts Flashcards

1
Q

Does AWS CodeDeploy support on-premises instances?

Concepts

AWS CodeDeploy | Developer Tools

A

Yes. AWS CodeDeploy supports any instance that can install the CodeDeploy agent and connect to AWS public endpoints.

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

What is an application?

Concepts

AWS CodeDeploy | Developer Tools

A

An application is a collection of software and configuration to be deployed to a group of instances. Typically, the instances in the group run the same software. For example, if you have a large distributed system, the web tier will likely constitute one application and the data tier another application.

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

What is a revision?

Concepts

AWS CodeDeploy | Developer Tools

A

A revision is a specific version of deployable content, such as source code, post-build artifacts, web pages, executable files, and deployment scripts, along with an AppSpec file. The AWS CodeDeploy Agent can access a revision from GitHub or an Amazon S3 bucket.

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

What is a deployment group?

Concepts

AWS CodeDeploy | Developer Tools

A

A deployment group is a set of instances associated with an application that you target for a deployment. You can add instances to a deployment group by specifying a tag, an Auto Scaling group name, or both. You can define multiple deployment groups for an application such as staging and production. For information on tags, see Working with Amazon EC2 Tags in the Console. For more information on deploying to Auto Scaling groups, see Auto Scaling Integration.

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

What is a deployment configuration?

Concepts

AWS CodeDeploy | Developer Tools

A

A deployment configuration is a constraint that determines how a deployment progresses through the instances in a deployment group. You can use a deployment configuration to perform zero-downtime deployments to multi-instance deployment groups. For example, if your application needs at least 50% of the instances in a deployment group to be up and serving traffic, you can specify that in your deployment configuration so that a deployment does not cause downtime. If no deployment configuration is associated with either the deployment or the deployment group, then by default AWS CodeDeploy will deploy to one instance at a time. For more information on deployment configuration, see Instance Health.

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

What are the parameters that I need to specify for a deployment?

Concepts

AWS CodeDeploy | Developer Tools

A

There are three parameters you specify for a deployment:

Revision - Specifies what to deploy.

Deployment group - Specifies where to deploy.

Deployment configuration - An optional parameter that specifies how to deploy.

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

What is an AppSpec file?

Concepts

AWS CodeDeploy | Developer Tools

A

An AppSpec file is a configuration file that specifies the files to be copied and scripts to be executed. The AppSpec file uses the YAML format, and you include it in the root directory of your revision. The AppSpec file is used by the AWS CodeDeploy Agent and consists of two sections. The files section specifies the source files in your revision to be copied and the destination folder on each instance. The hooks section specifies the location (as relative paths starting from the root of the revision bundle) of the scripts to run during each phase of the deployment. Each phase of a deployment is called a deployment lifecycle event. The following is a sample AppSpec file. For more information on an AppSpec file, including all the options that can be specified, see AppSpec File Reference.

version: 0.0
os: linux

files:

You can specify one or more mappings in the files section.

  • source: /
    destination: /var/www/html/WordPress

hooks:

# The lifecycle hooks sections allows you to specify deployment scripts.

ApplicationStop:

Step 1: Stop Apache and MySQL if running.

  • location: helper_scripts/stop_server.sh

BeforeInstall:

Step 2: Install Apache and MySQL.

You can specify one or more scripts per deployment lifecycle event.

  • location: deploy_hooks/puppet-apply-apache.sh
  • location: deploy_hooks/puppet-apply-mysql.sh

AfterInstall:

Step 3: Set permissions.

  • location: deploy_hooks /change_permissions.sh
    timeout: 30
    runas: root

Step 4: Start the server.

  • location: helper_scripts/start_server.sh
    timeout: 30
    runas: root
How well did you know this?
1
Not at all
2
3
4
5
Perfectly