クロスプラットフォーム アプリ用に、あるエージェント OS を別のエージェント OS よりも選択する具体的な理由はありますか? 開発者の OS の好みに基づいて選択されることがよくあります。今朝、.net コア コンソール アプリと、Windows と ubuntu でホストされたエージェントの両方に対してビルドするためのパイプラインを作成しました。
stages:
- stage: windows
jobs:
- template: build.yml
parameters:
pool: windows-latest
- stage: ubuntu
jobs:
- template: build.yml
parameters:
pool: ubuntu-latest
パイプラインを数回実行しました。Windows のビルド時間と ubuntu の時間はかなり長くなりました。AzDO ですぐに分析を使用して、洞察を得ることができました。
私はこれを社内で共有し、別の開発者がパイプラインを Ubuntu に切り替えようとしました。実行時間が約 30% 短縮されました。
この実験後の質問:
OS アーキテクチャーが原因で、Ubuntu と Windows、およびその逆で高速に実行されるタスクの種類はありますか?
パイプラインを実行するのに最適な OS を推定するために、パイプラインを「スコアリング」することは可能ですか?
Windows 上の Ubuntu エージェントでクロスプラットフォーム アプリを構築することを推奨することは合理的ですか? これによりビルド時間が短縮され、開発者の待ち時間が短縮され、ホストされた並列ジョブへの支出が削減されるようです。