Skip to main content

Создание и тестирование приложений Xamarin

Узнайте, как создать рабочий процесс непрерывной интеграции (CI) в GitHub Actions для создания и тестирования вашего приложения Xamarin.

Введение

В этом руководстве показано, как создать рабочий процесс, выполняющий непрерывную интеграцию (CI) для вашего проекта Xamarin. Создаваемый рабочий процесс позволит увидеть, когда фиксации в запросе на вытягивание вызывают сбои в сборке или тестировании ветви по умолчанию; этот подход поможет убедиться, что ваш код всегда работоспособен.

Полный список доступных версий пакета SDK для Xamarin в GitHub Actionsзапусках macOS с размещением см. в файле README для версии macOS, которую вы хотите использовать в GitHub Actions репозитории образов runner.

Необходимые компоненты

Рекомендуем иметь базовое понимание Xamarin, .NET Core SDK, YAML, опций настройки рабочих процессов и того, как создавать файл рабочего процесса. Дополнительные сведения см. в разделе:

Создание приложений Xamarin.iOS

Пример ниже демонстрирует, как изменить стандартные версии Xamarin SDK и создать приложение Xamarin.iOS.

name: Build Xamarin.iOS app

on: [push]

jobs:
  build:

    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v6
    - name: Set default Xamarin SDK versions
      run: |
        $VM_ASSETS/select-xamarin-sdk-v2.sh --mono=6.12 --ios=14.10

    - name: Set default Xcode 12.3
      run: |
        XCODE_ROOT=/Applications/Xcode_12.3.0.app
        echo "MD_APPLE_SDK_ROOT=$XCODE_ROOT" >> $GITHUB_ENV
        sudo xcode-select -s $XCODE_ROOT

    - name: Setup .NET Core SDK 5.0.x
      uses: actions/setup-dotnet@v4
      with:
        dotnet-version: '5.0.x'

    - name: Install dependencies
      run: nuget restore <sln_file_path>

    - name: Build
      run: msbuild <csproj_file_path> /p:Configuration=Debug /p:Platform=iPhoneSimulator /t:Rebuild

Здание Xamarin. Приложения для Android

Пример ниже демонстрирует, как изменить стандартные версии SDK Xamarin и создать Xamarin. Приложение для Android.

name: Build Xamarin.Android app

on: [push]

jobs:
  build:

    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v6
    - name: Set default Xamarin SDK versions
      run: |
        $VM_ASSETS/select-xamarin-sdk-v2.sh --mono=6.10 --android=10.2

    - name: Setup .NET Core SDK 5.0.x
      uses: actions/setup-dotnet@v4
      with:
        dotnet-version: '5.0.x'

    - name: Install dependencies
      run: nuget restore <sln_file_path>

    - name: Build
      run: msbuild <csproj_file_path> /t:PackageForAndroid /p:Configuration=Debug

Определение версии .NET

Чтобы использовать предустановленную версию пакета SDK .NET Core в GitHubразмещенном setup-dotnet средстве выполнения, используйте действие. Это действие находит определённую версию .NET из кэша инструментов на каждом раннере и добавляет необходимые бинарные файлы в PATH. Эти изменения будут сохранены для остальной части задания.

Это setup-dotnet рекомендуемый способ использования .NET сGitHub Actions, так как обеспечивает согласованное поведение между различными средствами выполнения и различными версиями .NET. Если вы используете самостоятельный раннер, нужно установить .NET и добавить в PATH. Дополнительные сведения см. в описании действия setup-dotnet.