Which solution will meet these requirements?
Create a manual approval action after the build action of the pipeline. Use Amazon SNS to inform the team of the stage being triggered. Next, add a test action using CodeBuild to perform the required tests. At the end of the pipeline, add a deploy action to deploy the application to the next stage.
Create a test action after the CodeBuild build of the pipeline. Configure the action to use CodeBuild to perform the required tests. If these tests are successful, mark the action as successful. Add a manual approval action that uses Amazon SNS to notify the team, and add a deploy action to deploy the application to the next stage.
Create a new pipeline that uses a source action that gets the code from the same repository as the first pipeline. Add a deploy action to deploy the code to a test environment. Use a test action using AWS Lambda to test the deployment. Add a manual approval action by using Amazon SNS to notify the team, and add a deploy action to deploy the application to the next stage.
Create a test action after the build action. Use a Jenkins server on Amazon EC2 to perform the required tests and mark the action as successful if the tests pass. Create a manual approval action that uses Amazon SQS to notify the team and add a deploy action to deploy the application to the next stage.
Explanations:
The manual approval action should come after the tests, not after the build. Additionally, using Amazon SNS for notifications is not the simplest or most cost-effective solution for manual approval.
This option correctly places the test action after the build step. The use of CodeBuild for testing and the manual approval action is well-aligned with the requirements for simplicity, cost-effectiveness, and management.
Creating a new pipeline introduces unnecessary complexity. The solution requires additional resources (like a test environment and AWS Lambda), which increases costs and complexity, contrary to the requirement for simplicity.
Using a Jenkins server on EC2 introduces additional complexity and cost for managing the Jenkins environment. This does not align with the requirement for the simplest management solution.