构建和测试 Xamarin 应用程序

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

GitHub Actions 可用于 GitHub Free、GitHub Pro、组织的 GitHub Free、GitHub Team、GitHub Enterprise Cloud 和 GitHub AE。 GitHub Actions 不适用于使用旧版按仓库计划的帐户所拥有的私有仓库。

注:GitHub Enterprise Server 2.22 上的 GitHub Actions 支持是有限的公测版。 测试已结束。 GitHub Actions 现在一般可用于 GitHub Enterprise Server 3.0 或更新版本。 更多信息请参阅 GitHub Enterprise Server 3.0 发行说明


注: GitHub 托管的运行器目前在 GitHub Enterprise Server 上不受支持。 您可以在 GitHub 公共路线图 上查看有关未来支持计划的更多信息。

简介

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

在 GitHub Actions 托管的 macOS 运行器上有可用的 Xamarin SDK 版本的完整列表,请参阅文档:

注:MacOS 11 虚拟环境目前仅作为私人预览提供。 任何已经在使用此运行器的用户或组织都可以继续使用它。 但我们目前不接受任何其他用户或组织。 macos-latest YAML 工作流程标签仍使用 MacOS 10.15 虚拟环境。

基本要求

建议基本了解 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@v2
    - 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@v1
      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@v2
    - 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@v1
      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 操作是 .NET 与 GitHub Actions 结合使用时的推荐方式,因为它能确保不同运行器和不同版本的 .NET 行为一致。 如果使用自托管运行器,则必须安装 .NET 并将其添加到 PATH。 更多信息请参阅 setup-dotnet 操作。

此文档对您有帮助吗?隐私政策

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。