プルリクエスト・マージキュー(パブリックベータ版)
Published at February 8, 2023
Author: Kevin Duck
Summary
GitHub の マージキュー は、プルリクエストをキューに入れ、継続的インテグレーションチェックを行い、変更がメインブランチを壊さないようにすることで、プルリクエストのマージ処理を自動化します。本日、GitHub Enterprise Cloud上のレポとオープンソース組織向けのプルリクエスト・マージキューのパブリックベータを発表します!
マージキュー は、最も忙しいブランチへのプルリクエストのマージを自動化することで、ソフトウェアのデリバリー速度を向上させるのに役立ちます。
マージキュー以前は、開発者はマージする前にプルリクエストブランチを更新して、マージ時に自分の変更がメインブランチを壊さないようにする必要があることがよくありました。更新するたびに継続的インテグレーション (CI) のチェックが繰り返され、それが終わらないと開発者はマージすることができませんでした。別のプルリクエストがマージされると、すべての開発者がこのプロセスを再度行う必要がありました。
マージキュー は、マージのためにキューに入れられた各プルリクエストが、キューの中でその前にあるプルリクエストと一緒にビルドされるようにすることで、このプロセスを自動化します。
プルリクエストをマージするためにキューに入れる
マージキュー を使うブランチを対象とするプルリクエストの場合は、マージ要件を満たしたときに直接マージするのではなく、プルリクエストページや GitHub Mobile からMerge when readyをクリックしてキューに追加することになります。
すると、キューは一時ブランチを作成し、ベースブランチからの最新の変更点、すでにキューにある他のプルリクエストからの変更点、そしてあなたのプルリクエストからの変更点が含まれるようになります。そして、ブランチ(とそれを表すプルリクエスト)がマージされる前に、必要なすべてのステータスチェックが通過することを想定して CI が開始されます。
キューに入れられたプルリクエストにマージの競合があったり、必要なステータスチェックに失敗したりすると、それが最前面に達した時点で自動的にキューから削除され、通知が送信されます。問題が解決されると、再びキューに追加されます。
マージキューによるプルリクエストのマージについては、プルリクエストのページで詳しく説明しています。iOS TestFlightまたはGoogle Play (Beta) から GitHub Mobile のベータ版を使って、外出先からプルリクエストをキューに入れることもできますよ。
キューの表示
自分がキューのどこにいるのか、常に把握することができます。
ブランチページやプルリクエストページからアクセスできるキューの詳細ページには、キュー内のプルリクエストとそれぞれのステータス、必要なステータスチェックやマージまでの推定時間などが表示されます。また、マージされたプルリクエストの数や過去 30 日間の傾向も表示されます。
権限によっては、このページからプルリクエストをキューから削除したり、キューをクリアしたりすることもできます。
はじめに
マージキューは、全体のベロシティを向上させ、開発者の生産性に影響を与える手動でのブランチ更新を回避するのに役立ちます。最も忙しいブランチでマージキューを有効にする方法について、詳しくはこちらをご覧ください。
マージキューをどのように改善したらよいか、皆さんのご意見をお聞かせください。マージキューのパブリックベータディスカッションに参加してください。
Source
Pull request マージキュー (public beta)
Today we are announcing the public beta of pull request マージキュー for repos on GitHub Enterprise Cloud and open source organizations! 🎉 マージキュー helps increase velocity in software delivery by automating pull request merges into your busiest branches. Before マージキュー, developers were often required to …