빌드 스크립트

중요

Visual Studio App Center는 2025년 3월 31일에 사용 중지될 예정입니다. Visual Studio App Center가 완전히 사용 중지될 때까지 계속 사용할 수 있지만 마이그레이션을 고려할 수 있는 몇 가지 권장 대안이 있습니다.

지원 타임라인 및 대안에 대해 자세히 알아보세요.

참고

빌드 스크립트를 사용하면 빌드를 사용자 지정할 수 있습니다. 그러나 해당 프로세스 중에 찾은 문제는 App Center 지원의 scope. 스크립트 중 하나가 실패하면 해당 시점까지의 기본 빌드가 성공한 경우에도 전체 빌드에서 오류를 보고합니다.

빌드 시간 동안 미리 정의된 단계에서 실행되는 사용자 지정 빌드 스크립트( 복제 후, 빌드 전, 빌드 후)를 추가할 수 있습니다. 빌드 구성에서 선택한 프로젝트 수준(, , .sln.csproj또는 ) 파일 또는 package.json모듈 수준(.xcodeprojbuild.gradle) 파일 옆에 지정된 형식으로 스크립트를 배치하고 사용자 지정 빌드 단계로 실행합니다.

App Center에서 비 UWP 앱은 macOS를 기반으로 빌드되므로 Bash 스크립트를 사용할 수 있습니다. UWP 앱은 Windows를 기반으로 하므로 PowerShell 스크립트를 사용할 수 있습니다. 두 스크립트 형식으로 비슷한 많은 작업을 수행할 수 있지만, 두 작업 간에 마이그레이션하는 경우 일부 변환을 수행해야 할 수 있습니다. 예를 들어 macOS Bash를 사용하려면 UNIX 스타일 LF(줄 끝)를 사용해야 합니다.

전용 공용 GitHub 리포지토리에서 빌드 스크립트 예제 컬렉션을 찾을 수 있습니다. 샘플 스크립트를 자유롭게 사용하거나, 수정하거나, 사용할 커뮤니티의 나머지 부분에 가장 유용한 스크립트를 사용하여 새 끌어오기 요청을 제출할 수 있습니다.

경고

App Center가 처음으로 빌드 스크립트를 검색하거나 스크립트의 위치를 변경하거나 CocoaPods가 저장되는 위치를 변경하는 경우 빌드 구성에서 저장 또는 저장 & 빌드 단추를 클릭하여 변경 내용을 적용해야 합니다. 이렇게 하면 App Center에서 분석을 실행하여 리포지토리 트리를 인덱싱하고 빌드 정의를 업데이트합니다.

검색된 스크립트 저장

복제 후

복제 후 스크립트는 리포지토리가 복제된 직후에 실행되지만 마지막에 다른 작업을 하기 전에 실행됩니다.

복제 후 스크립트를 실행하려면 리포지토리의 프로젝트 파일 옆에 다음 파일을 추가합니다.

  • appcenter-post-clone.sh (iOS & Android용 Bash)

    #!/usr/bin/env bash
    
    # Example: Clone a required repository
    git clone https://github.com/example/SomeProject
    
    # Example: Install App Center CLI
    npm install -g appcenter-cli
    
  • appcenter-post-clone.ps1 (UWP용 PowerShell)

빌드 전

빌드 전 스크립트는 실제 빌드가 시작되기 전에 실행됩니다. React Native 앱의 경우 스크립트는 원본 맵을 생성하기 전에 실행됩니다. 다른 플랫폼의 경우 NuGet, CocoaPods 또는 Carthage와 같은 종속성을 설치한 후에 실행됩니다.

빌드 전 스크립트를 실행하려면 리포지토리의 프로젝트 파일 옆에 다음 파일을 추가합니다.

  • appcenter-pre-build.sh (iOS & Android용 Bash)

    #!/usr/bin/env bash
    
    # Example: Change bundle name of an iOS app for non-production
    if [ "$APPCENTER_BRANCH" != "main" ];
    then
        plutil -replace CFBundleDisplayName -string "\$(PRODUCT_NAME) Beta" $APPCENTER_SOURCE_DIRECTORY/MyApp/Info.plist
    fi
    
  • appcenter-pre-build.ps1 (UWP용 PowerShell)

빌드 후

빌드 후 스크립트는 빌드가 완료된 후 실행되고 필요한 모든 아티팩트가 출력 디렉터리에 복사됩니다. 빌드 후 스크립트는 빌드가 실패하더라도 실행됩니다.

빌드 후 스크립트를 실행하려면 리포지토리의 프로젝트 파일 옆에 다음 파일을 추가합니다.

  • appcenter-post-build.sh (iOS & Android용 Bash)

    if [ "$AGENT_JOBSTATUS" == "Succeeded" ]; then
        HOCKEYAPP_API_TOKEN={API_Token}
        HOCKEYAPP_APP_ID={APP_ID}
    
        # Example: Upload main branch app binary to HockeyApp using the API
        if [ "$APPCENTER_BRANCH" == "main" ];
         then
            curl \
            -F "status=2" \
            -F "ipa=@$APPCENTER_OUTPUT_DIRECTORY/MyApps.ipa" \
            -H "X-HockeyAppToken: $HOCKEYAPP_API_TOKEN" \
            https://rink.hockeyapp.net/api/2/apps/$HOCKEYAPP_APP_ID/app_versions/upload
        else
            echo "Current branch is $APPCENTER_BRANCH"
        fi
    fi
    
  • appcenter-post-build.ps1 (UWP용 PowerShell)

환경 변수

미리 정의된 사용자 지정 또는 스크립트 내 환경 변수를 사용하여 빌드 스크립트를 작성할 수 있습니다. 자세한 내용은 환경 변수 가이드 를 참조하세요.