{"meta":{"title":"Создание и тестирование приложений Xamarin","intro":"Узнайте, как создать рабочий процесс непрерывной интеграции (CI) в GitHub Actions для создания и тестирования вашего приложения Xamarin.","product":"GitHub Actions","breadcrumbs":[{"href":"/ru/enterprise-cloud@latest/actions","title":"GitHub Actions"},{"href":"/ru/enterprise-cloud@latest/actions/tutorials","title":"Учебники"},{"href":"/ru/enterprise-cloud@latest/actions/tutorials/build-and-test-code","title":"Сборка и тестирование кода"},{"href":"/ru/enterprise-cloud@latest/actions/tutorials/build-and-test-code/xamarin-apps","title":"Приложения Xamarin"}],"documentType":"article"},"body":"# Создание и тестирование приложений Xamarin\n\nУзнайте, как создать рабочий процесс непрерывной интеграции (CI) в GitHub Actions для создания и тестирования вашего приложения Xamarin.\n\n## Введение\n\nВ этом руководстве показано, как создать рабочий процесс, выполняющий непрерывную интеграцию (CI) для вашего проекта Xamarin. Создаваемый рабочий процесс позволит увидеть, когда фиксации в запросе на вытягивание вызывают сбои в сборке или тестировании ветви по умолчанию; этот подход поможет убедиться, что ваш код всегда работоспособен.\n\nПолный список доступных версий пакета SDK для Xamarin в GitHub Actionsзапусках macOS с размещением см. в файле README для версии macOS, которую вы хотите использовать в [GitHub Actions репозитории образов runner](https://github.com/actions/runner-images/tree/main/images/macos).\n\n## Необходимые компоненты\n\nРекомендуем иметь базовое понимание Xamarin, .NET Core SDK, YAML, опций настройки рабочих процессов и того, как создавать файл рабочего процесса. Дополнительные сведения см. в разделе:\n\n* [Синтаксис рабочего процесса для GitHub Actions](/ru/enterprise-cloud@latest/actions/reference/workflows-and-actions/workflow-syntax)\n* [Начинаю с .NET](https://dotnet.microsoft.com/learn)\n* [Изучайте Ксамарин](https://dotnet.microsoft.com/learn/xamarin)\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Пример ниже демонстрирует, как изменить стандартные версии SDK Xamarin и создать 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\nЧтобы использовать предустановленную версию пакета SDK .NET Core в GitHubразмещенном `setup-dotnet` средстве выполнения, используйте действие. Это действие находит определённую версию .NET из кэша инструментов на каждом раннере и добавляет необходимые бинарные файлы в `PATH`. Эти изменения будут сохранены для остальной части задания.\n\nЭто `setup-dotnet` рекомендуемый способ использования .NET сGitHub Actions, так как обеспечивает согласованное поведение между различными средствами выполнения и различными версиями .NET. Если вы используете самостоятельный раннер, нужно установить .NET и добавить в `PATH`. Дополнительные сведения см. в описании действия [`setup-dotnet`](https://github.com/marketplace/actions/setup-net-core-sdk)."}