跳至主要内容

构建和测试 Xamarin 应用程序

您可以在 GitHub Actions 中创建一个持续集成 (CI) 工作流来构建和测试您的 Xamarin 应用程序。

简介

本指南向您展示如何创建一个工作流,为您的 Xamarin 项目执行持续集成 (CI)。您创建的工作流将允许您查看何时对拉取请求的提交会导致针对您的默认分支的构建或测试失败;这种方法可以帮助确保您的代码始终保持健康。

有关 GitHub Actions 托管的 macOS 运行器上可用的所有 Xamarin SDK 版本的完整列表,请参阅您想要在 GitHub Actions Runner Images 存储库 中使用的 macOS 版本的 README 文件。

先决条件

我们建议您对 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@v4
    - 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@v3
      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 应用程序

以下示例演示了如何更改默认 Xamarin SDK 版本并构建 Xamarin.Android 应用程序。

name: Build Xamarin.Android app

on: [push]

jobs:
  build:

    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v4
    - 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@v3
      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 版本

要在 GitHub 托管的运行器上使用预安装版本的 .NET Core SDK,请使用 setup-dotnet 操作。此操作从每个运行器的工具缓存中查找特定版本的 .NET,并将必要的二进制文件添加到 PATH。这些更改将持续到作业的剩余部分。

setup-dotnet 操作是使用 GitHub Actions 中的 .NET 的推荐方法,因为它确保了不同运行器和不同版本的 .NET 之间的行为一致。如果您使用的是自托管运行器,则必须安装 .NET 并将其添加到 PATH。有关更多信息,请参阅 setup-dotnet 操作。