Q26 — AWS DVA-C02 第1章
第 26/100 問 | ← 第1章
開発者は、本番環境へのリリース前にAWS CodeCommitリポジトリへの変更を凍結したいと考えています。QAチームによるリリーステスト期間中、開発者は新機能の開発を継続します。QAテストおよびすべてのバグ修正は、mainブランチから分離して実施する必要があります。リリース後、開発者はすべてのバグ修正をmainブランチに統合する必要があります。この要件を満たす解決策はどれでしょうか?
- A. リリース予定の最新のGitコミットからリリースブランチを作成する。リリースブランチ上でバグ修正を適用する。新機能の開発を継続し、機能をmainブランチにマージする。リリース後にリリースブランチをmainブランチにマージする。 ✓
- B. リリース予定の最新のGitコミットにGitタグを作成する。新機能の開発を継続し、機能をmainブランチにマージする。mainブランチ上でバグ修正を適用する。Gitタグをmainブランチ上の最新コミットに更新する。
- C. リリース予定の最新のGitコミットからリリースブランチを作成する。リリースブランチ上でバグ修正を適用する。新機能の開発を継続し、機能をmainブランチにマージする。リリース後にmainブランチをリリースブランチに基づいて再ベースする。
- D. リリース予定の最新のGitコミットにGitタグを作成する。新機能の開発を継続し、機能をmainブランチにマージする。リリースされたGitタグにバグ修正のGitコミットを適用する。
正解: A. リリース予定の最新のGitコミットからリリースブランチを作成する。リリースブランチ上でバグ修正を適用する。新機能の開発を継続し、機能をmainブランチにマージする。リリース後にリリースブランチをmainブランチにマージする。
解説
この要件を満たすためには、開発者は以下の点を実現する必要があります:リリース期間中にmainブランチの変更を凍結し、QAテストおよび修正作業を実施すること、テスト期間中も新機能の開発を継続すること、リリース後にバグ修正をmainブランチに統合すること。選択肢A:リリースブランチを作成し、その上でバグ修正を行い、同時にmainブランチでは新機能の開発を継続します。リリース後にリリースブランチをmainブランチにマージします。この方法により、mainブランチの安定性が保たれ、QAテスト中の変更による影響が回避され、リリース後の修正統合も可能となり、すべての要件を満たします。選択肢B:リリース予定の最新コミットにGitタグを作成し、mainブランチで新機能の開発とバグ修正を継続します。その後、Gitタグをmainブランチの最新コミットに更新するという手法は、タグが本質的に静的であるため、修正に応じて自動的に更新されない点で要件を満たしません。選択肢C:リリースブランチを作成し、その上で修正を適用しつつ新機能を開発します。リリース後にmainブランチをリリースブランチに基づいて再ベースする方法は、開発とリリース間のマージコンフリクトを引き起こす可能性があり、追加の対応が必要です。選択肢D:リリース予定のコミットにGitタグを作成し、そのタグに修正を適用する方法は、タグが静的であるため直接修正できない点で要件を満たしません。したがって、選択肢Aが最もシンプルかつ効果的な解決策であり、修正と新機能開発の分離を実現し、リリース後にすべての修正をmainブランチに統合できます。 【灯笼考证提供:swufelp1999】