Skip to main content

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

GitHub Actions에서 CI(연속 통합) 워크플로를 만들어 Xamarin 애플리케이션을 빌드하고 테스트할 수 있습니다.

참고: GitHub 호스트 실행기는 현재 GitHub Enterprise Server에서 지원되지 않습니다. GitHub public roadmap에 예정된 향후 지원에 대해 자세히 알아볼 수 있습니다.

소개

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

GitHub Actions호스트 macOS 실행기에서 사용 가능한 Xamarin SDK 버전의 전체 목록은 GitHub Actions 실행기 이미지 리포지토리에서 사용하려는 macOS 버전에 대한 추가 정보 파일을 참조하세요.

필수 조건

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 작업은 다양한 실행기 및 다양한 버전의 .NET에서 일관된 동작을 보장하므로 GitHub Actions로 .NET을 사용하는 데 권장되는 방법입니다. 자체 호스트 실행기를 사용하는 경우 .NET을 설치하고 이를 PATH에 추가해야 합니다. 자세한 내용은 setup-dotnet 작업을 참조하세요.