Распространение приложения UWP в App Center (он же Mobile Center) с помощью задачи VSTS
В настоящее время я работаю вместе с Microsoft над случаем, когда одно из ваших приложений UWP падает после запуска. После долгих отладок в msbuild я понял, что сбой происходит только тогда, когда полученный файл appxbundle распространяется через Microsoft App Center (он же Mobile Center). Это также только тот случай, когда appxbundle загружается в App Center со встроенной задачей VSTS "Распространение App Center".
Когда я загружаю appxbundle вручную с помощью портала App Center, все работает нормально, даже если используется через App Center.
Кроме того, я заметил, что размер appxbundle составляет 18 МБ после сборки, но только 14 МБ при загрузке в App Center с помощью задачи VSTS (размер показан на портале App Center). Файл не поврежден после загрузки, но, похоже, отсутствуют некоторые файлы в комплекте - что делает эта задача? Открытие и изменение appxbundle? uhhhhhh.
У кого-нибудь есть похожая проблема?
2 ответа
На данный момент я обошел эту проблему, заменив встроенную задачу на CLI App Center и простой сценарий powershell для архивации.
param(
[Parameter(Mandatory=$true)]
[String]
$Token,
# Name of the App, e.g. 'org/app'
[Parameter(Mandatory=$true)]
[String]
$App,
# Name of the distribution Group, e.g. 'Collaborators'
[Parameter(Mandatory=$true)]
[String]
$Group
)
$binaryFile = (Get-ChildItem MyApp_*_x64.appxbundle -Recurse).FullName
appcenter distribute release -g $Group -f "$binaryFile" -a $App --debug --token $Token
Чтобы этот скрипт работал, вам нужна последняя версия CLI App Center, которую можно найти здесь.
На агенте сборки с присутствующим менеджером пакетов NPM вы можете просто запустить npm install -g appcenter-cli
установить последнюю версию. После этого вышеуказанный скрипт должен выполнить.
Я использовал Sebastian Zolg следующим образом:
- task: PowerShell@2
displayName: 'Distribute via AppCenter'
inputs:
targetType: 'filePath'
filePath: 'AppCenterDistributeThroughCli.ps1'
arguments: xxxMyTokenxxxxx MyAppCenterAppSlug "Collaborators"
workingDirectory: '$(Build.ArtifactStagingDirectory)\AppxPackages'
А также AppCenterDistributeThroughCli.ps1
это Sebastian Zolg.