Xamarin 애플리케이션 빌드 및 테스트
Xamarin 애플리케이션 빌드 및 테스트
GitHub Actions에서 Xamarin 애플리케이션을 빌드하고 테스트하는 지속적 통합(CI) 워크플로우를 만드는 방법을 알려드릴게요. 이 가이드를 따라 하면 Xamarin 프로젝트를 위한 워크플로우를 직접 구성할 수 있어요.
출처: 문서
본문
Introduction
이 가이드에서는 Xamarin 프로젝트에 대해 지속적 통합(CI)을 수행하는 워크플로우를 만드는 방법을 보여드릴게요. 만든 워크플로우 덕분에 기본 브랜치를 기준으로 풀 리퀘스트에 대한 커밋이 빌드나 테스트 실패를 유발하는 시점을 알 수 있어요. 이런 방식으로 코드가 항상 건강한 상태를 유지하도록 할 수 있답니다.
GitHub Actions에서 호스팅하는 macOS 러너에서 사용할 수 있는 Xamarin SDK 버전 전체 목록을 보려면, 사용하려는 macOS 버전에 해당하는 README 파일을 GitHub Actions Runner Images repository에서 확인해 주세요.
Prerequisites
Xamarin, .NET Core SDK, YAML, 워크플로우 구성 옵션, 그리고 워크플로우 파일을 만드는 방법에 대한 기본적인 이해가 있으면 좋아요. 자세한 내용은 다음 문서를 참고하세요.
Building Xamarin.iOS apps
아래 예시는 기본 Xamarin SDK 버전을 변경하고 Xamarin.iOS 애플리케이션을 빌드하는 방법을 보여줍니다.
name: Build Xamarin.iOS app
on: [push]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v6
- 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
Building Xamarin.Android apps
아래 예시는 기본 Xamarin SDK 버전을 변경하고 Xamarin.Android 애플리케이션을 빌드하는 방법을 보여줍니다.
name: Build Xamarin.Android app
on: [push]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v6
- 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
Specifying a .NET version
GitHub에서 호스팅하는 러너에서 사전 설치된 .NET Core SDK 버전을 사용하려면 setup-dotnet 액션을 사용하세요. 이 액션은 각 러너의 도구 캐시에서 특정 .NET 버전을 찾아 필요한 바이너리를 PATH에 추가해요. 이러한 변경 사항은 job의 나머지 기간 동안 유지된답니다.
setup-dotnet 액션은 서로 다른 러너와 서로 다른 .NET 버전 간에 일관된 동작을 보장하기 때문에 GitHub Actions에서 .NET을 사용할 때 권장되는 방법이에요. 자체 호스팅 러너를 사용한다면 .NET을 직접 설치해서 PATH에 추가해야 해요. 자세한 내용은 setup-dotnet 액션 문서를 참고하세요.