Developer Tools | AWS CodePipeline Flashcards

1
Q

What is AWS CodePipeline?

General

AWS CodePipeline | Developer Tools

A

AWS CodePipeline is a continuous delivery service that enables you to model, visualize, and automate the steps required to release your software. With AWS CodePipeline, you model the full release process for building your code, deploying to pre-production environments, testing your application and releasing it to production. AWS CodePipeline then builds, tests, and deploys your application according to the defined workflow every time there is a code change. You can integrate partner tools and your own custom tools into any stage of the release process to form an end-to-end continuous delivery solution.

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

Why should I use AWS CodePipeline?

General

AWS CodePipeline | Developer Tools

A

By automating your build, test, and release processes, AWS CodePipeline enables you to increase the speed and quality of your software updates by running all new changes through a consistent set of quality checks.

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

What is continuous delivery?

CodePipeline_Elements

AWS CodePipeline | Developer Tools

A

Continuous delivery is a software development practice where code changes are automatically built, tested, and prepared for a release to production. AWS CodePipeline is a service that helps you practice continuous delivery. Learn more about continuous delivery here.

Concepts

The diagram below represents the concepts discussed in this section.

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

What is a pipeline?

CodePipeline_Elements

AWS CodePipeline | Developer Tools

A

A pipeline is a workflow construct that describes how software changes go through a release process. You define the workflow with a sequence of stages and actions.

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

What is a revision?

CodePipeline_Elements

AWS CodePipeline | Developer Tools

A

A revision is a change made to the source location defined for your pipeline. It can include source code, build output, configuration, or data. A pipeline can have multiple revisions flowing through it at the same time.

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

What is a stage?

CodePipeline_Elements

AWS CodePipeline | Developer Tools

A

A stage is a group of one or more actions. A pipeline can have two or more stages.

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

What is an action?

CodePipeline_Elements

AWS CodePipeline | Developer Tools

A

An action is a task performed on a revision. Pipeline actions occur in a specified order, in serial or in parallel, as determined in the configuration of the stage. For more information, see Edit a Pipeline and Action Structure Requirements in AWS CodePipeline.

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

What is an artifact?

CodePipeline_Elements

AWS CodePipeline | Developer Tools

A

When an action runs, it acts upon a file or set of files. These files are called artifacts. These artifacts can be worked upon by later actions in the pipeline. For example, a source action will output the latest version of the code as a source artifact, which the build action will read in. Following the compilation, the build action will upload the build output as another artifact, which will be read by the later deployment actions.

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

What is a transition?

Using AWS CodePipeline

AWS CodePipeline | Developer Tools

A

The stages in a pipeline are connected by transitions, and are represented by arrows in the AWS CodePipeline console. Revisions that successfully complete the actions in a stage will be automatically sent on to the next stage as indicated by the transition arrow. Transitions can be disabled or enabled between stages.

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

How do I get started with AWS CodePipeline?

Using AWS CodePipeline

AWS CodePipeline | Developer Tools

A

You can sign in to the AWS Management Console, create a pipeline, and start using the service. If you want an introduction to AWS CodePipeline, see Getting Started, which includes step-by-step tutorials. Or, see the Pipeline Starter Kit to quickly provision a preconfigured release pipeline with a Jenkins build server using an AWS CloudFormation template.

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

How do I start a pipeline?

Using AWS CodePipeline

AWS CodePipeline | Developer Tools

A

After you create a pipeline, it will automatically trigger a run to release the latest revision of your source code. From then on, every time you make a change to your source location, a new run is triggered. In addition, you can re-run the last revision through a pipeline using the Release Change button in the pipeline console.

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

How do I stop a pipeline?

Using AWS CodePipeline

AWS CodePipeline | Developer Tools

A

To stop a pipeline, you can disable a transition from one stage to another. Once disabled, your pipeline will continue to run revisions through the actions, but it will not promote revisions through the disabled transition to later stages. For more details, see Disable or Enable Transitions in AWS CodePipeline.

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

Can I edit an existing pipeline?

Using AWS CodePipeline

AWS CodePipeline | Developer Tools

A

Yes. You can use the AWS CodePipeline console or AWS CLI to add or remove stages in a pipeline as well as to add, edit, or remove actions in a stage.

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

Can I create a copy of an existing pipeline?

Using AWS CodePipeline

AWS CodePipeline | Developer Tools

A

Yes. You can use the get-pipeline AWS CLI command to get the JSON structure of your existing pipeline. You can then use that JSON and the create-pipeline AWS CLI command to create a new pipeline with the same structure as the existing one.

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

Can actions run in parallel?

Using AWS CodePipeline

AWS CodePipeline | Developer Tools

A

Yes. You can configure one or more actions to run in parallel for any given stage.

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

How can I practice continuous delivery for my serverless applications and AWS Lambda functions?

Using AWS CodePipeline

AWS CodePipeline | Developer Tools

A

You can release updates to your serverless application by including the AWS Serverless Application Model template and its corresponding files in your source code repository. You can use AWS CodeBuild in your pipeline to package your code for deployment. You can then use AWS CloudFormation actions to create a change set and deploy your serverless application. You have the option to extend your workflow with additional steps such as manual approvals or automated tests. Learn more here.

17
Q

How can I provision and manage my AWS resources through a release workflow process?

Using AWS CodePipeline

AWS CodePipeline | Developer Tools

A

Using AWS CodePipeline and AWS CloudFormation, you can use continuous delivery to automatically build and test changes to your AWS CloudFormation stacks before promoting them to production stacks. This release process lets you rapidly and reliably make changes to your AWS infrastructure. You can extend your workflow with additional actions such as manual approvals, test actions, or invoke AWS Lambda actions. For more details, see Continuous Delivery with AWS CloudFormation page.

18
Q

What product integrations are available with AWS CodePipeline?

Using AWS CodePipeline

AWS CodePipeline | Developer Tools

A

AWS CodePipeline integrates with AWS services such as AWS CodeCommit, Amazon S3, AWS CodeBuild, AWS CodeDeploy, AWS Elastic Beanstalk, AWS CloudFormation, AWS OpsWorks, Amazon ECS, and AWS Lambda. In addition, AWS CodePipeline integrates with a number of partner tools. For details see the product integrations page. Finally, you can write your own custom actions and integrate any existing tool with CodePipeline. For more details on custom actions, see the Create and Add a Custom Action in AWS CodePipeline page.

19
Q

Can I get a history of AWS CodePipeline API calls?

Using AWS CodePipeline

AWS CodePipeline | Developer Tools

A

Yes. To receive a history of AWS CodePipeline API calls made on your account for security analysis and operational troubleshooting purposes, you simply turn on AWS CloudTrail in the AWS Management Console. For more information, see Logging AWS CodePipeline API calls by Using AWS CloudTrail.

20
Q

What are the service limits when using AWS CodePipeline?

Using AWS CodePipeline

AWS CodePipeline | Developer Tools

A

For information on the service limits, see Limits.

Partners

21
Q

What do I need to do to integrate with AWS CodePipeline?

Security

AWS CodePipeline | Developer Tools

A

If you’re interested in becoming an AWS partner who integrates your developer service with AWS CodePipeline, please contact codepipeline-request@amazon.com.

22
Q

Can I use AWS Identity and Access Management (IAM) to manage access to AWS CodePipeline?

Security

AWS CodePipeline | Developer Tools

A

Yes. AWS CodePipeline supports resource-level permissions. You can specify which user can perform what action on a pipeline. For example, you can provide a user read-only access to a pipeline, if you want them to see the pipeline status but not modify the pipeline. You can also set permissions for any stage or action within a pipeline. For more information on using IAM with AWS CodePipeline, see Access Permissions Reference.

23
Q

Can I enable the pipeline in one AWS account to be accessed by an IAM user in another AWS account?

Regions

AWS CodePipeline | Developer Tools

A

Yes. You can create an IAM role in the AWS account that owns the pipeline to delegate access to the pipeline and any related resources to an IAM user in another account. For a walkthrough on enabling such a cross account access, see Walkthrough: Delegating Access Across AWS Accounts For Accounts You Own Using IAM Roles and Configure Cross-Account Access to a Pipeline.

24
Q

Which regions does AWS CodePipeline support?

Billing

AWS CodePipeline | Developer Tools

A

Please refer to Regional Products and Services for details of CodePipeline availability by region.