ビルド スクリプト

重要

Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。

詳細については、サポートタイムラインと代替手段に関するページを参照してください。

注意

ビルド スクリプトを使用すると、ビルドをカスタマイズできます。ただし、そのプロセス中に見つかる問題は、App Center サポートの範囲を超えています。 いずれかのスクリプトが失敗した場合、その時点までのプライマリ ビルドが成功した場合でも、ビルド全体でエラーが報告されます。

ビルド時に事前に定義されたステージで実行されるカスタム ビルド スクリプトを追加できます( ポストクローン事前ビルドビルド後)。 ビルド構成で選択したプロジェクト レベル (、、、.sln.csprojまたは package.json) ファイルまたはモジュール レベル (.xcodeprojbuild.gradle) ファイルの横に、以下に指定した形式のスクリプトを配置し、カスタム ビルド ステップとして実行します。

App Center では、UWP 以外のアプリは macOS 上に構築されているため、Bash スクリプトを使用できます。 UWP アプリは Windows 上に構築されているため、PowerShell スクリプトを使用できます。 同様のタスクの多くはどちらのスクリプト形式でも実行できますが、それらの間で移行する場合は、何らかの変換が必要になる場合があります。 たとえば、macOS Bash では UNIX スタイルの行末 (LF) を使用する必要があります。

ビルド スクリプトの例のコレクションは、 専用のパブリック GitHub リポジトリにあります。 サンプル スクリプトを自由に使用したり、変更したり、コミュニティの残りの部分で最も役に立つスクリプトを使用して新しい pull request を送信したりできます。

警告

App Center が初めてビルド スクリプトを検出したとき、またはスクリプトの場所を変更したとき、または CocoaPods の保存場所を変更したとき。変更を適用するには、ビルド構成の [ ビルド & 保存 ] ボタンをクリックします。 これを行うと、App Center によって分析が実行され、リポジトリ ツリーのインデックスが作成され、ビルド定義が更新されます。

[Save detected scripts]\(検出されたスクリプトを保存する\)

事後複製

クローン後スクリプトは、リポジトリがクローンされた直後に、最後に他の操作を行う前に実行されます。

クローン後にスクリプトを実行するには、リポジトリ内のプロジェクト ファイルの横に次のファイルを追加します。

  • appcenter-post-clone.sh (iOS & Android 用 Bash)

    #!/usr/bin/env bash
    
    # Example: Clone a required repository
    git clone https://github.com/example/SomeProject
    
    # Example: Install App Center CLI
    npm install -g appcenter-cli
    
  • appcenter-post-clone.ps1 (UWP 用 PowerShell)

ビルド前

ビルド前スクリプトは、実際のビルドが開始される前に実行されます。 React Native アプリの場合、スクリプトはソース マップを生成する前に実行されます。 その他のプラットフォームでは、NuGet、CocoaPods、Carthage などの依存関係をインストールした後に実行されます。

ビルド前にスクリプトを実行するには、リポジトリ内のプロジェクト ファイルの横に次のファイルを追加します。

  • appcenter-pre-build.sh (iOS & Android 用 Bash)

    #!/usr/bin/env bash
    
    # Example: Change bundle name of an iOS app for non-production
    if [ "$APPCENTER_BRANCH" != "main" ];
    then
        plutil -replace CFBundleDisplayName -string "\$(PRODUCT_NAME) Beta" $APPCENTER_SOURCE_DIRECTORY/MyApp/Info.plist
    fi
    
  • appcenter-pre-build.ps1 (UWP 用 PowerShell)

ビルド後

ビルド後スクリプトは、ビルドが完了し、必要なすべての成果物を出力ディレクトリにコピーした後に実行されます。 ビルド後のスクリプトは、ビルドが失敗した場合でも実行されます。

ビルド後にスクリプトを実行するには、リポジトリ内のプロジェクト ファイルの横に次のファイルを追加します。

  • appcenter-post-build.sh (iOS & Android 用 Bash)

    if [ "$AGENT_JOBSTATUS" == "Succeeded" ]; then
        HOCKEYAPP_API_TOKEN={API_Token}
        HOCKEYAPP_APP_ID={APP_ID}
    
        # Example: Upload main branch app binary to HockeyApp using the API
        if [ "$APPCENTER_BRANCH" == "main" ];
         then
            curl \
            -F "status=2" \
            -F "ipa=@$APPCENTER_OUTPUT_DIRECTORY/MyApps.ipa" \
            -H "X-HockeyAppToken: $HOCKEYAPP_API_TOKEN" \
            https://rink.hockeyapp.net/api/2/apps/$HOCKEYAPP_APP_ID/app_versions/upload
        else
            echo "Current branch is $APPCENTER_BRANCH"
        fi
    fi
    
  • appcenter-post-build.ps1 (UWP 用 PowerShell)

環境変数

事前に定義された、カスタム、またはスクリプト内の環境変数を使用して、ビルド スクリプトの記述に役立ちます。詳細については、 環境変数ガイド を参照してください。