AppCenterDistribute@3 - App Center에서 v3 작업 배포
이 작업을 사용하여 Visual Studio App Center를 통해 테스터 및 사용자에게 앱 빌드를 배포합니다.
Syntax
# App Center distribute v3
# Distribute app builds to testers and users via Visual Studio App Center.
- task: AppCenterDistribute@3
inputs:
serverEndpoint: # string. Required. App Center service connection.
appSlug: # string. Required. App slug.
appFile: # string. Alias: app. Required. Binary file path.
#buildVersion: # string. Build version.
releaseNotesOption: 'input' # 'input' | 'file'. Alias: releaseNotesSelection. Required. Create release notes. Default: input.
releaseNotesInput: # string. Required when releaseNotesSelection = input. Release notes.
#releaseNotesFile: # string. Required when releaseNotesSelection = file. Release notes file.
#isMandatory: false # boolean. Require users to update to this release. Default: false.
destinationType: 'groups' # 'groups' | 'store'. Required. Release destination. Default: groups.
#distributionGroupId: # string. Alias: destinationGroupIds. Optional. Use when destinationType = groups. Destination IDs.
#destinationStoreId: # string. Required when destinationType = store. Destination ID.
#isSilent: # boolean. Optional. Use when destinationType = groups. Do not notify testers. Release will still be available to install.
# Symbols
#symbolsOption: 'Apple' # 'Apple' | 'Android' | 'UWP'. Alias: symbolsType. Symbols type. Default: Apple.
#symbolsPath: # string. Optional. Use when symbolsType == AndroidNative || symbolsType = Windows. Symbols path.
#appxsymPath: # string. Optional. Use when symbolsType = UWP. Symbols path (*.appxsym).
#symbolsDsymFiles: # string. Alias: dsymPath. Optional. Use when symbolsType = Apple. dSYM path.
#symbolsMappingTxtFile: # string. Alias: mappingTxtPath. Optional. Use when symbolsType = Android. Mapping file.
#nativeLibrariesPath: # string. Optional. Use when symbolsType == Android. Native Library File Path.
#symbolsIncludeParentDirectory: # boolean. Alias: packParentFolder. Optional. Use when symbolsType = Apple. Include all items in parent folder.
# App Center distribute v3
# Distribute app builds to testers and users via Visual Studio App Center.
- task: AppCenterDistribute@3
inputs:
serverEndpoint: # string. Required. App Center service connection.
appSlug: # string. Required. App slug.
appFile: # string. Alias: app. Required. Binary file path.
releaseNotesOption: 'input' # 'input' | 'file'. Alias: releaseNotesSelection. Required. Create release notes. Default: input.
releaseNotesInput: # string. Required when releaseNotesSelection = input. Release notes.
#releaseNotesFile: # string. Required when releaseNotesSelection = file. Release notes file.
#isMandatory: false # boolean. Require users to update to this release. Default: false.
destinationType: 'groups' # 'groups' | 'store'. Required. Release destination. Default: groups.
#distributionGroupId: # string. Alias: destinationGroupIds. Optional. Use when destinationType = groups. Destination IDs.
#destinationStoreId: # string. Required when destinationType = store. Destination ID.
#isSilent: # boolean. Optional. Use when destinationType = groups. Do not notify testers. Release will still be available to install.
# Symbols
#symbolsOption: 'Apple' # 'Apple' | 'Android'. Alias: symbolsType. Symbols type. Default: Apple.
#symbolsPath: # string. Optional. Use when symbolsType == AndroidNative || symbolsType = Windows. Symbols path.
#symbolsPdbFiles: '**/*.pdb' # string. Alias: pdbPath. Optional. Use when symbolsType = UWP. Symbols path (*.pdb). Default: **/*.pdb.
#symbolsDsymFiles: # string. Alias: dsymPath. Optional. Use when symbolsType = Apple. dSYM path.
#symbolsMappingTxtFile: # string. Alias: mappingTxtPath. Optional. Use when symbolsType = Android. Mapping file.
#symbolsIncludeParentDirectory: # boolean. Alias: packParentFolder. Optional. Use when symbolsType = Apple. Include all items in parent folder.
입력
serverEndpoint
- App Center 서비스 연결
string
. 필수 요소.
Visual Studio App Center에 대한 서비스 연결을 선택합니다. 링크를 만들려면 링크를 클릭하고 Manage
새 서비스 연결을 만듭니다.
appSlug
- 앱 슬러그
string
. 필수 요소.
앱 슬러그는 형식입니다 {username}/{app_identifier}
. 앱의 및 {app_identifier}
을 찾으 {username}
려면 App Center에서 해당 이름을 클릭하고 결과 URL은 형식https://appcenter.ms/users/**{username}**/apps/**{app_identifier}**
입니다. 조직을 사용하는 경우 앱 슬러그는 형식 {orgname}/{app_identifier}
입니다.
appFile
- 이진 파일 경로
입력 별칭: app
. string
. 필수 요소.
게시할 APK/AAB 또는 IPA 파일에 대한 리포지토리 루트의 상대 경로입니다.
buildVersion
- 빌드 버전
string
.
및 .msi
에 대해 지정 .zip
해야 하는 업로드 이진 파일의 빌드 버전입니다. 플랫폼이 WPF 또는 WinForms가 아니면 이 값은 무시됩니다.
symbolsOption
- 기호 형식
입력 별칭: symbolsType
. string
. 허용되는 값: Apple
, Android
, UWP
. 기본값은 Apple
입니다.
App Center 진단에서 기호화된 스택 추적을 수신하는 기호 파일을 포함합니다.
symbolsOption
- 기호 형식
입력 별칭: symbolsType
. string
. 허용되는 값: Apple
, Android
. 기본값은 Apple
입니다.
App Center 진단에서 기호화된 스택 추적을 수신하는 기호 파일을 포함합니다.
symbolsPath
- 기호 경로
string
. 선택 사항입니다. 을 사용할 때 symbolsType == AndroidNative || symbolsType = Windows
사용합니다.
리포지토리 루트에서 symbols 폴더로의 상대 경로입니다.
appxsymPath
- 기호 경로(*.appxsym)
string
. 선택 사항입니다. 을 사용할 때 symbolsType = UWP
사용합니다.
APPXSYM 기호 파일에 대한 상대 경로입니다. 경로에 와일드카드가 포함될 수 있습니다.
symbolsDsymFiles
- dSYM 경로
입력 별칭: dsymPath
. string
. 선택 사항입니다. 을 사용할 때 symbolsType = Apple
사용합니다.
리포지토리 루트에서 dSYM 폴더로의 상대 경로입니다. 경로에 와일드카드가 포함될 수 있습니다.
symbolsMappingTxtFile
- 매핑 파일
입력 별칭: mappingTxtPath
. string
. 선택 사항입니다. 을 사용할 때 symbolsType = Android
사용합니다.
리포지토리 루트에서 Android 파일로의 상대 경로입니다 mapping.txt
.
nativeLibrariesPath
- 네이티브 라이브러리 파일 경로
string
. 선택 사항입니다. 을 사용할 때 symbolsType == Android
사용합니다.
게시하려는 추가 네이티브 라이브러리(예: .so 파일)에 대한 리포지토리 루트의 상대 경로입니다.
symbolsIncludeParentDirectory
- 부모 폴더에 모든 항목 포함
입력 별칭: packParentFolder
. boolean
. 선택 사항입니다. 을 사용할 때 symbolsType = Apple
사용합니다.
선택한 기호 파일 또는 폴더 및 다른 모든 항목을 동일한 부모 폴더 내에 업로드합니다. 이는 React Native 앱에 필요합니다.
releaseNotesOption
- 릴리스 정보 만들기
입력 별칭: releaseNotesSelection
. string
. 필수 요소. 허용되는 값: input
(릴리스 정보 입력), file
(릴리스 정보 파일 선택). 기본값은 input
입니다.
릴리스 정보는 릴리스에 첨부되고 설치 페이지의 테스터에게 표시됩니다.
releaseNotesInput
- 릴리스 정보
string
. 필요한 경우 releaseNotesSelection = input
입니다.
이 버전의 릴리스 정보입니다.
releaseNotesFile
- 릴리스 정보 파일
string
. 필요한 경우 releaseNotesSelection = file
입니다.
이 버전의 릴리스 정보를 포함하는 UTF-8로 인코딩된 텍스트 파일을 선택합니다.
isMandatory
- 사용자가 이 릴리스로 업데이트하도록 요구
boolean
. 기본값은 false
입니다.
App Center 배포 SDK는 업데이트를 의무화하는 데 필요합니다. 테스터는 자동으로 업데이트하라는 메시지가 표시됩니다.
destinationType
- 릴리스 대상
string
. 필수 요소. 허용되는 값: groups
, store
. 기본값은 groups
입니다.
각 릴리스는 그룹 또는 저장소에 배포됩니다.
distributionGroupId
- 대상 ID
입력 별칭: destinationGroupIds
. string
. 선택 사항입니다. 을 사용할 때 destinationType = groups
사용합니다.
빌드 릴리스를 받을 메일 그룹의 ID입니다. 기본 그룹을 사용하려면 비워 두고 쉼표 또는 세미콜론을 사용하여 여러 ID를 구분합니다.
destinationStoreId
- 대상 ID
string
. 필요한 경우 destinationType = store
입니다.
빌드 릴리스를 받을 배포 저장소의 ID입니다.
isSilent
- 테스터에게 알리지 마세요. 릴리스는 계속 설치할 수 있습니다.
boolean
. 선택 사항입니다. 을 사용할 때 destinationType = groups
사용합니다.
테스터는 새 릴리스에 대한 이메일을 받지 않습니다.
symbolsPdbFiles
- 기호 경로(*.pdb)
입력 별칭: pdbPath
. string
. 선택 사항입니다. 을 사용할 때 symbolsType = UWP
사용합니다. 기본값은 **/*.pdb
입니다.
리포지토리 루트에서 PDB 기호 파일로의 상대 경로입니다. 경로에 와일드카드가 포함될 수 있습니다.
작업 제어 옵션
모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.
출력 변수
없음
설명
이 작업을 사용하여 App Center를 통해 테스터 및 사용자에게 앱 빌드를 배포합니다.
- 먼저 App Center에 등록합니다.
- 이 작업을 사용하는 방법에 대한 자세한 내용은 App Center 설명서 문서 App Center를 사용하여 Azure DevOps 빌드 배포를 참조하세요.
예제
이 예제 파이프라인은 Android 앱을 빌드하고, 테스트를 실행하고, App Center 배포를 사용하여 앱을 게시합니다.
# Android
# Build your Android project with Gradle.
# Add steps that test, sign, and distribute the APK, save build artifacts, and more:
# https://learn.microsoft.com/azure/devops/pipelines/ecosystems/android
pool:
vmImage: 'macOS-latest'
steps:
- script: sudo npm install -g appcenter-cli
- script: appcenter login --token {YOUR_TOKEN}
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
publishJUnitResults: false
testResultsFiles: '**/TEST-*.xml'
tasks: build
- task: CopyFiles@2
inputs:
contents: '**/*.apk'
targetFolder: '$(build.artifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(build.artifactStagingDirectory)'
artifactName: 'outputs'
artifactType: 'container'
# Run tests using the App Center CLI
- script: appcenter test run espresso --app "{APP_CENTER_SLUG}" --devices "{DEVICE}" --app-path {APP_FILE} --test-series "master" --locale "en_US" --build-dir {PAT_ESPRESSO} --debug
# Distribute the app
- task: AppCenterDistribute@3
inputs:
serverEndpoint: 'AppCenter'
appSlug: '$(APP_CENTER_SLUG)'
appFile: '$(APP_FILE)' # Relative path from the repo root to the APK or IPA file you want to publish
symbolsOption: 'Android'
releaseNotesOption: 'input'
releaseNotesInput: 'Here are the release notes for this version.'
destinationType: 'groups'
요구 사항
요구 사항 | Description |
---|---|
파이프라인 유형 | YAML, 클래식 빌드, 클래식 릴리스 |
실행 중 | 에이전트, DeploymentGroup |
요청 | 없음 |
Capabilities | 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다. |
명령 제한 사항 | 모두 |
설정 가능한 변수 | 모두 |
에이전트 버전 | 2.206.1 이상 |
작업 범주 | 배포 |
요구 사항 | Description |
---|---|
파이프라인 유형 | YAML, 클래식 빌드, 클래식 릴리스 |
실행 중 | 에이전트, DeploymentGroup |
요청 | 없음 |
Capabilities | 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다. |
명령 제한 사항 | 모두 |
설정 가능한 변수 | 모두 |
에이전트 버전 | 2.144.0 이상 |
작업 범주 | 배포 |
요구 사항 | Description |
---|---|
파이프라인 유형 | YAML, 클래식 빌드, 클래식 릴리스 |
실행 중 | 에이전트, DeploymentGroup |
요청 | 없음 |
Capabilities | 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다. |
명령 제한 사항 | 모두 |
설정 가능한 변수 | 모두 |
에이전트 버전 | 지원되는 모든 에이전트 버전. |
작업 범주 | 배포 |