{"meta":{"title":"Xamarin アプリケーションのビルドとテスト","intro":"GitHub Actionsで継続的インテグレーション (CI) ワークフローを作成し、Xamarin アプリケーションをビルドしてテストする方法について説明します。","product":"GitHub Actions","breadcrumbs":[{"href":"/ja/enterprise-cloud@latest/actions","title":"GitHub Actions"},{"href":"/ja/enterprise-cloud@latest/actions/tutorials","title":"チュートリアル"},{"href":"/ja/enterprise-cloud@latest/actions/tutorials/build-and-test-code","title":"コードのビルドとテスト"},{"href":"/ja/enterprise-cloud@latest/actions/tutorials/build-and-test-code/xamarin-apps","title":"Xamarin アプリ"}],"documentType":"article"},"body":"# Xamarin アプリケーションのビルドとテスト\n\nGitHub Actionsで継続的インテグレーション (CI) ワークフローを作成し、Xamarin アプリケーションをビルドしてテストする方法について説明します。\n\n## はじめに\n\nこのガイドでは、Xamarin プロジェクトの継続的インテグレーション (CI) を実行するワークフローを作成する方法について説明します。 作成するワークフローによって、プルリクエストに対するコミットがデフォルトブランチに対してビルドあるいはテストの失敗を引き起こしたことを見ることができるようになります。このアプローチは、コードが常に健全であることを保証するための役に立ちます。\n\nGitHub Actionsホスト型 macOS ランナーで使用可能な Xamarin SDK バージョンの完全な一覧については、[GitHub Actions Runner Images リポジトリ](https://github.com/actions/runner-images/tree/main/images/macos)で使用する macOS のバージョンの README ファイルを参照してください。\n\n## 前提条件\n\nXamarin、.NET Core SDK、YAML、ワークフロー構成オプション、およびワークフロー ファイルの作成方法に関する基本的な理解を持っていることをお勧めします。 詳細については、次を参照してください。\n\n* [GitHub Actions　のワークフロー構文](/ja/enterprise-cloud@latest/actions/using-workflows/workflow-syntax-for-github-actions)\n* [.NET を始めよう](https://dotnet.microsoft.com/learn)\n* [Xamarin について](https://dotnet.microsoft.com/learn/xamarin)\n\nこれらのステップを実行してください：\n\nこのガイドの例を使用するには、GitHub.com のリポジトリが必要です。 macOS ランナーは、GHE.com のサブドメイン (`octocorp.ghe.com` など) では利用できません。\n\n## Xamarin.iOS アプリのビルド\n\n次の例では、既定の Xamarin SDK バージョンを変更し、Xamarin.iOS アプリケーションをビルドする方法を示します。\n\n```yaml\nname: Build Xamarin.iOS app\n\non: [push]\n\njobs:\n  build:\n\n    runs-on: macos-latest\n\n    steps:\n    - uses: actions/checkout@v6\n    - name: Set default Xamarin SDK versions\n      run: |\n        $VM_ASSETS/select-xamarin-sdk-v2.sh --mono=6.12 --ios=14.10\n\n    - name: Set default Xcode 12.3\n      run: |\n        XCODE_ROOT=/Applications/Xcode_12.3.0.app\n        echo \"MD_APPLE_SDK_ROOT=$XCODE_ROOT\" >> $GITHUB_ENV\n        sudo xcode-select -s $XCODE_ROOT\n\n    - name: Setup .NET Core SDK 5.0.x\n      uses: actions/setup-dotnet@v4\n      with:\n        dotnet-version: '5.0.x'\n\n    - name: Install dependencies\n      run: nuget restore <sln_file_path>\n\n    - name: Build\n      run: msbuild <csproj_file_path> /p:Configuration=Debug /p:Platform=iPhoneSimulator /t:Rebuild\n```\n\n## Xamarin.Android アプリの構築\n\n次の例では、Xamarin SDK の既定のバージョンを変更し、Xamarin.Android アプリケーションをビルドする方法を示します。\n\n```yaml\nname: Build Xamarin.Android app\n\non: [push]\n\njobs:\n  build:\n\n    runs-on: macos-latest\n\n    steps:\n    - uses: actions/checkout@v6\n    - name: Set default Xamarin SDK versions\n      run: |\n        $VM_ASSETS/select-xamarin-sdk-v2.sh --mono=6.10 --android=10.2\n\n    - name: Setup .NET Core SDK 5.0.x\n      uses: actions/setup-dotnet@v4\n      with:\n        dotnet-version: '5.0.x'\n\n    - name: Install dependencies\n      run: nuget restore <sln_file_path>\n\n    - name: Build\n      run: msbuild <csproj_file_path> /t:PackageForAndroid /p:Configuration=Debug\n```\n\n## .NET バージョンの指定\n\nGitHub ホステッド ランナーにプレインストールされたバージョンの .NET Core SDK を使うには、`setup-dotnet` アクションを使います。 このアクションは、各ランナーのツール キャッシュから特定のバージョンの.NETを検索し、必要なバイナリを `PATH` に追加します。 これらの変更は、作業の残りの部分で維持されます。\n\n```\n          `setup-dotnet` アクションは、 GitHub Actions で.NETを使用する場合に推奨される方法です。これは、異なるランナーと異なるバージョンの.NET間で一貫した動作が保証されるためです。 セルフホステッド ランナーを使用している場合は、.NETをインストールし、`PATH` に追加する必要があります。 詳細については、「[`setup-dotnet`](https://github.com/marketplace/actions/setup-net-core-sdk) アクション」を参照してください。\n```"}