Автоматизация сборки пакетов хранилища UWP

Есть ли способ автоматизировать сборку пакетов для магазина Windows? (Я использую jenkins на моем сервере сборки) Я хотел бы подготовить пакет для Windows Store без взаимодействия с пользователем на сервере сборки. Код проверки электронной почты, создание для .NET родного и набора приложений для набора сертификатов, и все материалы GUI занимают слишком много времени, и я бы хотел автоматизировать этот процесс. Интересно, возможно ли это или нет.

Ответ 1

Позвольте мне поделиться своим опытом создания действительного пакета приложений UWP, который можно загрузить в Windows Store с помощью командной строки MSBuild. Это поколение может быть выполнено в три этапа:

Шаг 1: Свяжите свое приложение с Windows Store - требуется Visual Studio

В Visual Studio выберите свой проект, щелкните правой кнопкой мыши, чтобы отобразить контекстное меню. Выберите меню "Сохранить", затем "Связать приложение с магазином":

введите описание изображения здесь

Этот шаг требует входа в систему с вашими учетными данными Microsoft dev. После входа в систему вы назначаете резервное имя для своего приложения и связываете свое приложение с магазином Windows. Эта ассоциация магазина, которая должна быть выполнена только один раз, создаст два важных файла, необходимых для создания и подписания вашего пакета приложений:

  • Package.StoreAssociation.xml
  • MyApp_StoreKey.pfx

Шаг 2: Отредактируйте файл манифеста приложения (Package.appxmanifest)

Этот шаг является необязательным. Файл манифеста содержит номер версии (атрибут версии тега <Identity>). Перед созданием новой версии вашего приложения вам необходимо обновить атрибут этой версии.

Шаг 3: Создайте пакет приложений с помощью MS Build

Откройте консоль CMD с переменными среды Visual Studio, необходимыми для MsBuild. Для этого откройте script VsDevCmd.bat, расположенный в VS_INSTALL_DIR\Common7\Tools.

Введите следующую командную строку:

MSBuild.\MyApp.csproj/p: Configuration = Release; AppxBundle = Always; AppxBundlePlatforms = "x86 | x64 | ARM" /p: BuildAppxUploadPackageForUap = true

Эта команда будет:

  • скомпилируйте свой проект в режиме выпуска
  • целевые платформы x86, x64 и ARM.
  • сформировать пакет пакетов с именем MyApp_1.0.0.0_x86_x64_ARM_bundle.appxupload, который можно загрузить вручную в центр windows dev

В заключение вы можете создать пакет приложений UWP с помощью инструмента командной строки. Но прежде чем это сделать, вам нужно связать свое приложение с хранилищем Windows.

Ответ 2

Я только что опубликовал сообщение в блоге о том, как это сделать, включая пример проекта Github

ndelabarre утверждает следующее:

Шаг 1: Свяжите свое приложение с Windows Store (требуется Visual Studio 2015)

Но это неверно. Единственное, что делает VS, это изменить 2 файла. Это может быть полностью автоматизировано и можно найти в часть IV моей серии блога.

Я установил и Jenkins и Bamboo, используя этот подход. Это облегчило мою жизнь, так как настройка можно легко портировать (изменить только 1 файл) из одного приложения в другое.