Как скопировать двоичный файл сборки AppCenter в Azure хранилище BLOB-объектов? - PullRequest
0 голосов
/ 13 января 2020

У меня есть сборка AppCenter для приложения Xamarin Forms UWP. Я хочу отправить полученный файл appxbundle в контейнер хранения Azure с помощью специального сценария сборки. Конечная цель состоит в том, чтобы перечислить все эти сборки на странице ASP. NET и предоставить ссылки для больших двоичных объектов для моих бета-тестеров. (В настоящее время AppCenter распространяет ссылки на файлы только по электронной почте.) При желании я хотел бы удалить все предыдущие выпуски из AppCenter, поскольку я буду сохранять файлы Histori c в хранилище BLOB-объектов.

Эта ссылка предоставляет пример того, как использовать SFTP, но прежде чем я go спустился в кроличью нору, пытаясь найти решение самостоятельно, я хотел посмотреть, сделал ли это кто-нибудь еще.

https://github.com/microsoft/appcenter/tree/master/sample-build-scripts/general/sftp-upload

Я предполагаю, что я собираюсь использовать Powershell для этого, но как мне:

  • Получить имя двоичного файла из среды сборки?
  • Использовать сертификат, если сервер должен доверять ему для подключения с использованием субъекта службы?

1 Ответ

0 голосов
/ 13 января 2020

Разобрался, как это сделать.

  • Передайте файл appcenter-post-build.ps1 в репозиторий вместе с файлом .sln

  • Включите и создайте пользовательскую переменную среды в конфигурации сборки, чтобы удерживайте строку подключения для учетной записи хранения Azure (щелкните значок блокировки, чтобы зашифровать ее)

  • Получить строку подключения со страницы Azure учетной записи доступа к ключам доступа

Пример файла appcenter-post-build.ps1:

$context = New-AzureStorageContext -ConnectionString $env:conn_string

$files = @(Get-ChildItem -Path "D:\a\1\a\Build\Nevitium\Nevitium.UWP\AppPackages\" -Recurse -Filter '*.appxbundle')

Set-AzureStorageBlobContent -Container "myblobcontainer" -File $files[0].FullName -Blob $files[0].Name -Context $context

Получить сгенерированный путь из предыдущих журналов сборки. Я использовал часть этого пути из моего журнала сборки в качестве базового пути и использовал рекурсию - фильтрацию файлов * .appxbundle, которая должна возвращать только один файл.

После того, как вы зафиксировали и добавили sh новый скрипт сборки Файл, который вы должны открыть конфигурацию сборки в AppCenter и нажимать кнопку Сохранить каждый раз. Да, каждый раз. У них есть открытая проблема относительно этого странного поведения. Обратите внимание на значок галочки после сборки. Это указывает на то, что AppCenter видит ваш скрипт, но вам все равно нужно нажать «Сохранить».

https://docs.microsoft.com/en-us/appcenter/build/custom/scripts/ https://github.com/microsoft/appcenter/issues/265

enter image description here

...