SAP-C02 · Question #157
A company is currently using AWS CodeCommit for its source control and AWS CodePipeline for continuous integration. The pipeline has a build stage for building the artifacts which is then staged in an
The correct answer is A. Trigger a separate pipeline from CodeCommit feature branches. Use AWS CodeBuild for running. To support isolated feature development with continuous testing, a solutions architect should trigger a separate AWS CodePipeline from CodeCommit feature branches and use AWS CodeBuild for running unit tests and isolating development artifacts.
Question
A company is currently using AWS CodeCommit for its source control and AWS CodePipeline for continuous integration. The pipeline has a build stage for building the artifacts which is then staged in an Amazon S3 bucket. The company has identified various improvement opportunities in the existing process, and a Solutions Architect has been given the following requirement:
- Create a new pipeline to support feature development
- Support feature development without impacting production applications
- Incorporate continuous testing with unit tests
- Isolate development and production artifacts
- Support the capability to merge tested code into production code.
How should the Solutions Architect achieve these requirements?
Options
- ATrigger a separate pipeline from CodeCommit feature branches. Use AWS CodeBuild for running
- BTrigger a separate pipeline from CodeCommit feature branches. Use AWS Lambda for running
- CTrigger a separate pipeline from CodeCommit tags Use Jenkins for running unit tests. Create a
- DCreate a separate CodeCommit repository for feature development and use it to trigger the
How the community answered
(45 responses)- A84% (38)
- B9% (4)
- C4% (2)
- D2% (1)
Why each option
To support isolated feature development with continuous testing, a solutions architect should trigger a separate AWS CodePipeline from CodeCommit feature branches and use AWS CodeBuild for running unit tests and isolating development artifacts.
Triggering a separate CodePipeline from CodeCommit feature branches allows isolated development and testing without impacting production. AWS CodeBuild is the ideal managed service for running unit tests and can output artifacts to separate S3 locations, meeting the isolation and continuous testing requirements.
While AWS Lambda can run code, CodeBuild is specifically designed for comprehensive build and test execution within CI/CD pipelines, offering more appropriate features and integration for this use case than Lambda.
Triggering pipelines from CodeCommit tags is typically for releases, not continuous feature development. Introducing Jenkins for unit tests adds an unmanaged component, deviating from a fully AWS-native solution.
Creating a separate CodeCommit repository for feature development is an overly complex approach; using feature branches within a single repository is the standard and more efficient Git workflow for managing feature development and merging.
Concept tested: AWS CodePipeline branching strategy and CodeBuild for testing
Source: https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-concepts.html#concepts-pipelines
Community Discussion
No community discussion yet for this question.