AWS Certified Developer – Associate (DVA-C02) — Question 404
A developer needs to freeze changes to an AWS CodeCommit repository before a production release. The developer will work on new features while a quality assurance (QA) team tests the release.
The QA testing and all bug fixes must take place in isolation from the main branch. After the release, the developer must integrate all bug fixes into the main branch.
Which solution will meet these requirements?
Answer options
- A. Create a release branch from the latest Git commit that will be in the release. Apply fixes to the release branch. Continue developing new features, and merge the features into the main branch. Merge the release branch into the main branch after the release.
- B. Create a Git tag on the latest Git commit that will be in the release. Continue developing new features, and merge the features into the main branch. Apply fixes to the main branch. Update the Git tag for the release to be on the latest commit on the main branch.
- C. Create a release branch from the latest Git commit that will be in the release. Apply fixes to the release branch. Continue developing new features, and merge the features into the main branch. Rebase the main branch onto the release branch after the release.
- D. Create a Git tag on the latest Git commit that will be in the release. Continue developing new features, and merge the features into the main branch. Apply the Git commits for fixes to the Git tag for the release.
Correct answer: A
Explanation
Creating a dedicated release branch allows the QA team to test and the developer to apply bug fixes in isolation from the ongoing feature development. This ensures that the main branch remains the target for new feature integration without destabilizing the release candidate. Merging the release branch back into the main branch after production deployment successfully integrates all QA bug fixes back into the main codebase.