Gradle ビルド プロファイリングを有効にする
説明
すべての Gradle ビルドのパフォーマンス レポートを生成して保存し、ビルド速度の問題を特定したり、異なるビルドを比較したりします。
指示
Bitrise ワークフローで使用する Android または Gradle ステップに関係なく、Gradle の追加のコマンド ライン引数を定義するオプションがあります。追加- プロフィール関連する入力変数に追加して、Gradle タスクのパフォーマンス レポートを生成します。以下の例では、引数を Android 単体テスト ステップ。
-
追加 Android 単体テスト ワークフローに進み、必要な入力変数を設定します。
-
プロジェクトの場所:
$PROJECT_LOCATION. -
モジュール:
$MODULE. -
変異体:
$VARIANT. -
引数:
--profile2.
-
-
を追加 脚本 ワークフローの最後まで進み、レポート ファイルを圧縮し、ZIP ファイルをデプロイ ディレクトリにコピーします。
#!/usr/bin/env bash # fail if any commands fails set -e # debug log set -x zip -r $BITRISE_DEPLOY_DIR/gradle-profile.zip $PROJECT_LOCATION/build/reports/profile
Gradle は HTML レポートを
build/reports/profile/、そのため、そのフォルダー内のすべてのファイル (HTML、CSS、および JS ファイル) を取得して圧縮し、ZIP アーカイブを次の場所に移動する必要があります。$BITRISE_DEPLOY_DIR.このフォルダー内のファイルは、ビルド ページの アーティファクト タブ。 -
アプリの手動ビルドをトリガーします。
-
ダウンロードして解凍します
gradle-profile.zipファイルを開き、ブラウザで HTML レポートを開きます。 -
に行く アーティファクト タブを開き、レポートでビルドのさまざまな側面を確認します。
-
の概要タブには、タスクの実行以外に費やされた時間が表示されます。
-
のタスクの実行タブには、実行時間でソートされたすべてのタスクが一覧表示されます。
-
キャッシュされたタスクは次のようにマークされます最新。これは微調整に役立ちますBitrise キャッシュステップ複数のビルドのレポートを比較します。
Gradle の最適化のアイデアについては、 Googleのこの記事をチェックしてください.
ビルド ログにのみタスクの実行時間を表示したい場合は、ビルド時間トラッカープラグイン。
-
bitrise.yml
- android-unit-test@1:
inputs:
- project_location: $PROJECT_LOCATION
- module: $MODULE
- arguments: "--profile"
- variant: $VARIANT
- script@1:
title: Collect Gradle profile report
inputs:
- content: |-
#!/usr/bin/env bash
# fail if any commands fails
set -e
# debug log
set -x
zip -r $BITRISE_DEPLOY_DIR/gradle-profile.zip $PROJECT_LOCATION/build/reports/profile
- deploy-to-bitrise-io@1: {}