Skip to main content

Xamarin 애플리케이션 빌드 및 테스트

GitHub Actions CI(연속 통합) 워크플로를 만들어 Xamarin 애플리케이션을 빌드하고 테스트하는 방법을 알아봅니다.

소개

이 가이드에서는 Xamarin 프로젝트에 대한 CI(연속 통합)를 수행하는 워크플로를 만드는 방법을 보여 줍니다. 만든 워크플로를 사용하면 끌어오기 요청에 커밋할 때 기본 분기에 대한 빌드 또는 테스트 오류가 발생하는 경우를 확인할 수 있습니다. 이 방법은 코드가 항상 정상인지 확인하는 데 도움이 될 수 있습니다.

GitHub Actions가 호스팅하는 macOS 실행기에서 사용할 수 있는 Xamarin SDK 버전의 전체 목록을 확인하려면, GitHub Actions Runner 이미지 리포지토리에서 해당 macOS 버전의 README 파일을 참고하시기 바랍니다.

필수 조건

Xamarin, .NET Core SDK, YAML, 워크플로 구성 옵션 및 워크플로 파일을 만드는 방법을 기본적으로 이해하는 것이 좋습니다. 자세한 내용은 다음을 참조하세요.

  • AUTOTITLE
  •         [.NET 시작하기](https://dotnet.microsoft.com/learn)
    
  •         [Xamarin 배우기](https://dotnet.microsoft.com/learn/xamarin)
    

가이드의 예제를 사용하려면 GitHub.com에 리포지토리가 필요합니다. macOS 실행기는 GHE.com의 하위 도메인에서 사용할 수 없습니다(예: octocorp.ghe.com).

Xamarin.iOS 앱 빌드

아래 예제에서는 기본 Xamarin SDK 버전을 변경하고 Xamarin.iOS 애플리케이션을 빌드하는 방법을 보여 줍니다.

name: Build Xamarin.iOS app

on: [push]

jobs:
  build:

    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v5
    - 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 앱 개발하기

아래 예제에서는 기본 Xamarin SDK 버전을 변경하고 Xamarin.Android 애플리케이션을 빌드하는 방법을 보여 줍니다.

name: Build Xamarin.Android app

on: [push]

jobs:
  build:

    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v5
    - 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 버전 지정

GitHub 호스트 실행기에서 사전 설치된 버전의 .NET Core SDK를 사용하려면 setup-dotnet 작업을 사용하세요. 각 실행기의 도구 캐시에서 특정 버전의 .NET을 찾아 필요한 이진 파일을 PATH에 추가합니다. 이러한 변경 내용은 작업의 나머지 부분에 대해 유지됩니다.

          `setup-dotnet` 작업은 GitHub Actions와 함께 .NET을 사용하는 권장되는 방법입니다. 이는 다양한 실행기와 다른 버전의 .NET에서 일관된 동작을 보장하기 때문입니다. 자체 호스팅 실행기를 사용하는 경우 .NET을 설치하고 `PATH`에 추가해야 합니다. 자세한 내용은 관련 작업을 참조하세요.