跳至主要内容

构建和测试 Xamarin 应用程序

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

简介

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

有关 GitHub Actions 托管的 macOS 运行器上所有可用 Xamarin SDK 版本的完整列表,请参阅您想要在GitHub Actions 运行器镜像存储库中使用的 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 action 是在 GitHub Actions 中使用 .NET 的推荐方式,因为它可以确保在不同的运行器和不同的 .NET 版本之间保持一致的行为。如果您使用的是自托管运行器,则必须安装 .NET 并将其添加到 PATH 中。有关更多信息,请参阅 setup-dotnet action。