Partilhar via


AppCenterDistribute@3 - Tarefa de distribuição v3 do Centro de Aplicações

Utilize esta tarefa para distribuir compilações de aplicações a testadores e utilizadores através do Centro de Aplicações do Visual Studio.

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.

Entradas

serverEndpoint - Ligação ao serviço do Centro de Aplicações
string. Obrigatório.

Seleciona a ligação de serviço para o Centro de Aplicações do Visual Studio. Para criar uma, clique na Manage ligação e crie uma nova ligação de serviço.


appSlug - Lesma da aplicação
string. Obrigatório.

O slug da aplicação está no formato de {username}/{app_identifier}. Para localizar {username} e {app_identifier} para uma aplicação, clique no respetivo nome a partir do Centro de Aplicações e o URL resultante está no formato de https://appcenter.ms/users/**{username}**/apps/**{app_identifier}**. Se estiver a utilizar organizações, a lesma da aplicação é do formato {orgname}/{app_identifier}.


appFile - Caminho do ficheiro binário
Alias de entrada: app. string. Obrigatório.

O caminho relativo da raiz do repositório para o ficheiro APK/AAB ou IPA que pretende publicar.


buildVersion - Versão de compilação
string.

A versão de compilação do binário de carregamento que tem de ser especificada para .zip e .msi. Este valor será ignorado, a menos que a plataforma seja WPF ou WinForms.


symbolsOption - Tipo de símbolos
Alias de entrada: symbolsType. string. Valores permitidos: Apple, , AndroidUWP. Valor predefinido: Apple.

Inclui ficheiros de símbolos para receber rastreios de pilhas simbólicas no Diagnóstico do Centro de Aplicações.


symbolsOption - Tipo de símbolos
Alias de entrada: symbolsType. string. Valores permitidos: Apple, Android. Valor predefinido: Apple.

Inclui ficheiros de símbolos para receber rastreios de pilhas simbólicas no Diagnóstico do Centro de Aplicações.


symbolsPath - Caminho dos símbolos
string. Opcional. Utilize quando symbolsType == AndroidNative || symbolsType = Windows.

O caminho relativo da raiz do repositório para a pasta de símbolos.


appxsymPath - Caminho dos símbolos (*.appxsym)
string. Opcional. Utilize quando symbolsType = UWP.

O caminho relativo para o ficheiro de símbolos APPXSYM. O caminho pode conter carateres universais.


symbolsDsymFiles - caminho dSYM
Alias de entrada: dsymPath. string. Opcional. Utilize quando symbolsType = Apple.

O caminho relativo da raiz do repositório para a pasta dSYM. O caminho pode conter carateres universais.


symbolsMappingTxtFile - Ficheiro de mapeamento
Alias de entrada: mappingTxtPath. string. Opcional. Utilize quando symbolsType = Android.

O caminho relativo da raiz do repositório para o ficheiro do mapping.txt Android.


nativeLibrariesPath - Caminho do Ficheiro da Biblioteca Nativa
string. Opcional. Utilize quando symbolsType == Android.

O caminho relativo da raiz do repositório para as bibliotecas nativas adicionais que pretende publicar (por exemplo, ficheiros .so).


symbolsIncludeParentDirectory - Incluir todos os itens na pasta principal
Alias de entrada: packParentFolder. boolean. Opcional. Utilize quando symbolsType = Apple.

Carrega o ficheiro ou pasta de símbolos selecionados e todos os outros itens dentro da mesma pasta principal. Isto é necessário para React Native aplicações.


releaseNotesOption - Criar notas de versão
Alias de entrada: releaseNotesSelection. string. Obrigatório. Valores permitidos: input (Introduza Notas de Versão), file (Selecione Ficheiro de Notas de Versão). Valor predefinido: input.

As notas de versão serão anexadas à versão e apresentadas aos testadores na página de instalação.


releaseNotesInput - Notas de versão
string. Necessário quando releaseNotesSelection = input.

As notas de versão desta versão.


releaseNotesFile - Ficheiro de notas de versão
string. Necessário quando releaseNotesSelection = file.

Seleciona um ficheiro de texto codificado UTF-8 que contém as notas de versão para esta versão.


isMandatory - Exigir que os utilizadores atualizem para esta versão
boolean. Valor predefinido: false.

O SDK de Distribuição do Centro de Aplicações necessário para ordenar uma atualização. Os testadores são automaticamente solicitados a atualizar.


destinationType - Destino da versão
string. Obrigatório. Valores permitidos: groups, store. Valor predefinido: groups.

Cada versão é distribuída para grupos ou lojas.


distributionGroupId - IDs de Destino
Alias de entrada: destinationGroupIds. string. Opcional. Utilize quando destinationType = groups.

Os IDs dos grupos de distribuição que irão receber a versão de compilação. Deixe-o vazio para utilizar o grupo predefinido e utilize vírgulas ou pontos e vírgulas para separar vários IDs.


destinationStoreId - ID de Destino
string. Necessário quando destinationType = store.

Os IDs do arquivo de distribuição que irão receber a versão de compilação.


isSilent - Não notifique os testadores. A versão continuará disponível para instalação.
boolean. Opcional. Utilize quando destinationType = groups.

Os testadores não recebem um e-mail para novas versões.


symbolsPdbFiles - Caminho dos símbolos (*.pdb)
Alias de entrada: pdbPath. string. Opcional. Utilize quando symbolsType = UWP. Valor predefinido: **/*.pdb.

O caminho relativo da raiz do repositório para os ficheiros de símbolos PDB. O caminho pode conter carateres universais.


Opções de controlo de tarefas

Todas as tarefas têm opções de controlo para além das entradas de tarefas. Para obter mais informações, veja Opções de controlo e propriedades de tarefas comuns.

Variáveis de saída

Nenhum.

Observações

Utilize esta tarefa para distribuir compilações de aplicações para testadores e utilizadores através do App Center.

Exemplos

Este pipeline de exemplo cria uma aplicação Android, executa testes e publica a aplicação com a Distribuição do 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'

Requisitos

Requisito Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agent, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de definição Qualquer
Versão do agente 2.206.1 ou superior
Categoria da tarefa Implementar
Requisito Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agent, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de definição Qualquer
Versão do agente 2.144.0 ou superior
Categoria da tarefa Implementar
Requisito Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agent, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de definição Qualquer
Versão do agente Todas as versões de agente suportadas.
Categoria da tarefa Implementação