How should the Solutions Architect achieve these requirements?
Trigger a separate pipeline from CodeCommit feature branches. Use AWS CodeBuild for running unit tests. Use CodeBuild to stage the artifacts within an S3 bucket in a separate testing account.
Trigger a separate pipeline from CodeCommit feature branches. Use AWS Lambda for running unit tests. Use AWS CodeDeploy to stage the artifacts within an S3 bucket in a separate testing account.
Trigger a separate pipeline from CodeCommit tags. Use Jenkins for running unit tests. Create a stage in the pipeline with S3 as the target for staging the artifacts with an S3 bucket in a separate testing account.
Create a separate CodeCommit repository for feature development and use it to trigger the pipeline. Use AWS Lambda for running unit tests. Use AWS CodeBuild to stage the artifacts within different S3 buckets in the same production account.
Explanations:
This option allows for a separate pipeline triggered from feature branches, ensuring that feature development does not affect production applications. AWS CodeBuild is suitable for running unit tests, and staging artifacts in a separate testing account meets the requirement for isolating development from production artifacts.
While this option also triggers a separate pipeline from feature branches, using AWS Lambda for running unit tests is less suitable than CodeBuild for a continuous integration context. AWS CodeDeploy is not required for staging artifacts, which is better handled directly by S3.
This option triggers a pipeline from CodeCommit tags, which does not support continuous development in feature branches. Additionally, using Jenkins adds unnecessary complexity, and the requirement for staging artifacts in a separate testing account is not fulfilled.
Creating a separate CodeCommit repository for feature development is not necessary and complicates the workflow. Using AWS Lambda for running unit tests is less effective compared to CodeBuild. Staging artifacts in different S3 buckets within the same account does not isolate development and production artifacts as required.