Jenkins、Teamcityなどを使用してgithubでプルリクエストをすべて作成していると仮定し、すべてのPRは、最新の支店で構築する必要があります。人々がこれを達成する方法を知りたいですか?複数のgithubプルリクエストを同時にビルドしますが、すべてのPRを最新のブランチにマージします
PRs Start Time Jenkins Build Build Finished PR1 (10:00) ---> Building(30 mins) -->10:30 ----> Merged in Develop PR2 (10:05) ---> Building(30 mins) -->10:35 ----> Merged in Develop PR3 (10:10) ---> Building(30 mins) -->10:40 ----> Merged in Develop
私は、このアプローチに問題があります。 PR1が開発ブランチで統合された後(10:30)、PR2とPR3はもはや最新のブランチ上にビルドされていませんでした。ブランチの開発中です(PR1が統合される前)。
Githubには、マージ前に保護されたブランチが最新であることを確認するオプションがあります。 msgstr "マージ前にブランチを最新にする" msgid。このオプションを選択した場合、PR2とPR3を統合することはできません。また、PR用に「更新ブランチ」ボタンが有効になり、PRが開発ブランチからリベースされるようになります。
PR2とP3は開発ブランチでリベースされますが、最新のコードでは検証されませんので、再度ビルドします。すべてのPRを構築するのに時間がかかります。その2〜3回のビルドのような。
あなたはどのようにあなたの組織でこれを達成していますか?
ありがとう@LeGEC。開発者の生産性を向上させるために、このプロセスの手作業を避けようとしています。現在、私たちの開発者はPRを提出し、彼らの仕事で完了したと仮定します。私たちのオートメーションは、すべてのビルド/バリデーションなどを行い、マスターでマージします。いずれにしても自動化に失敗すると、Devにフィードバックを送って見てください。 – Sridhar