Which combination of actions should be taken to implement a more stable deployment solution?
(Choose two.)
Create a pipeline in AWS CodePipeline with CodeCommit as a source provider. Create parallel pipeline stages to build and test the application. Pass the build artifact to AWS CodeDeploy.
Create a pipeline in AWS CodePipeline with CodeCommit as a source provider. Create separate pipeline stages to build and then test the application. Pass the build artifact to AWS CodeDeploy.
Create and use an AWS CodeDeploy application and deployment group to deploy code updates to the EC2 fleet. Select the Application Load Balancer for the deployment group.
Create individual Lambda functions to run all build, test, and deploy actions using AWS CodeDeploy instead of AWS Systems Manager.
Modify the Lambda function to build a single application package to be shared by all instances. Use AWS CodeDeploy instead of AWS Systems Manager to update the code on the EC2 fleet.
Explanations:
While creating a pipeline with parallel stages for building and testing is beneficial, the solution does not specify passing the build artifact to CodeDeploy, which is essential for proper deployment.
This option provides a structured approach by separating build and test stages within CodePipeline, allowing for a more stable and reliable deployment process. By passing the build artifact to CodeDeploy, it ensures consistency and reduces risks during deployments.
This option emphasizes using CodeDeploy, which is designed for automated deployments, to deploy code updates to the EC2 instances. Integrating with the Application Load Balancer allows for efficient traffic management during deployments, thus enhancing stability.
Creating individual Lambda functions for build, test, and deploy actions is overly complex and does not align with best practices for deployment. AWS CodeDeploy is a better choice for managing deployments rather than using multiple Lambda functions, which could lead to inconsistencies.
Modifying the Lambda function to create a shared application package may improve consistency, but it does not address the need for a proper deployment strategy. Using CodeDeploy is preferable, but this option lacks a structured pipeline approach for building and testing.