Migrating Jenkins Pipelines to AWS CodePipeline: Combining Services for New Pipelines

AWS CodePipeline Service Combinations for New Pipelines

Prev Question Next Question

Question

Your company has already used a variety of AWS services.

However, most of the existing pipelines are built up by Jenkins in local servers.

In the next quarter, your team is in charge of migrating the Jenkins pipelines to AWS CodePipeline.

All new pipelines should have 3 stages including source, build and deploy.

Which of the following combinations of services can be used for a new pipeline in AWS CodePipeline? (Select Four.)

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D. E.

Correct Answer - A, B, C and D.

When a new pipeline is created, the stages of source, build and deploy need to be configured.

For the source stage, the supported source providers include CodeCommit, ECR, S3, Bitbucket and Github.

For the build stage, the supported build providers are CodeBuild or Jenkins.

For the deploy stage, the deploy providers include AppConfig, CloudFormation, CodeDeploy, Elastic Beanstalk, Service Catalog, ECS and S3.

Option A is CORRECT: Because Bitbucket is also now a supported source for the codebase.

https://aws.amazon.com/about-aws/whats-new/2019/12/aws-codepipeline-now-supports-atlassian-bitbucket-cloud/

Option B is CORRECT: Because all selected services are valid.

Please also check the tutorial https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-simple-s3.html on how to build a pipeline using versioned Amazon S3 bucket and CodeDeploy service.

Option C is CORRECT: Because OpsWorks can be used in the deploy stage.

Option D is CORRECT: Because all the selected services are supported according to the above.

Option E is incorrect: Because ECS is not a valid service for the build stage.

However, ECS can be used in the deploy stage if needed.

Step 1: Create rule

Create rules to invoke Targets based on Events happening in your AWS environment.

Event Source Targets
Build or customize an Event Pattern or set a Schedule to invoke Targets. Select Target to invoke when an event matches your Event Pattern or when schedule is triggered.
@® Event Pattern @ Schedule @ © Add target*
Build event pattern to match events by service Bd
Service Name Trusted Advisor v
Event Type Check Item Refresh Status v
@ Anystatus Specific status(es)
v
@ Anycheck Specific check(s)
v

@ Any resource ID Specific resource ID(s)

The correct answer for this question is B, D, E, and F.

Explanation:

AWS CodePipeline is a fully-managed continuous delivery service that helps you automate your release pipelines for fast and reliable application and infrastructure updates. It is a pipeline orchestration service that allows you to model, visualize, and automate the steps required to release your software.

For a new pipeline in AWS CodePipeline, you need to choose a source provider, a build provider, and a deploy provider. Each stage represents one of these providers.

Here is a breakdown of the possible combinations of services for a new pipeline in AWS CodePipeline:

A. Source provider (Bitbucket) - Build provider (Jenkins) - Deploy provider (S3) This combination is incorrect because Jenkins cannot be used as a build provider in AWS CodePipeline. You can use AWS CodeBuild as a build provider instead.

B. Source provider (S3) - Build provider (CodeBuild) - Deploy provider (CodeDeploy) This combination is correct because it uses AWS services for all three stages. S3 is a source provider that can be used to trigger the pipeline when new files are added to a bucket. AWS CodeBuild is a build provider that compiles and tests the code. AWS CodeDeploy is a deploy provider that automates the deployment to EC2 instances or AWS Lambda functions.

C. Source provider (ECR) - Build provider (Jenkins) - Deploy provider (OpsWorks) This combination is incorrect because Jenkins cannot be used as a build provider in AWS CodePipeline. You can use AWS CodeBuild as a build provider instead. Also, OpsWorks cannot be used as a deploy provider in AWS CodePipeline. You can use AWS CodeDeploy or AWS Elastic Beanstalk as deploy providers instead.

D. Source provider (CodeCommit) - Build provider (CodeBuild) - Deploy provider (CloudFormation) This combination is correct because it uses AWS services for all three stages. CodeCommit is a source provider that stores the code. AWS CodeBuild is a build provider that compiles and tests the code. AWS CloudFormation is a deploy provider that automates the deployment of infrastructure as code.

E. Source provider (GitHub) - Build provider (ECS) - Deploy provider (Elastic Beanstalk) This combination is correct because it uses AWS services for all three stages. GitHub is a source provider that stores the code. AWS Elastic Container Service (ECS) is a build provider that packages the code into containers. AWS Elastic Beanstalk is a deploy provider that automates the deployment of the containers to EC2 instances or AWS Lambda functions.

In summary, options B, D, E, and F are the correct combinations of services for a new pipeline in AWS CodePipeline.