Расширение "Упаковка MSIX"

Расширение Упаковка MSIX — это расширение Azure DevOps, которое помогает создавать, упаковывать и подписывать приложения Windows с помощью формата упаковки MSIX.

Рабочие процессы CI/CD стали неотъемлемой частью процесса разработки. Они позволяют повысить эффективность и качество, а также сократить затраты и ускорить выход на рынок. Хотя решение Azure DevOps Pipelines для CI/CD от Майкрософт пользуется популярностью, текущий процесс интеграции рабочих процессов сборки и развертывания для приложений, которые должны упаковываться как MSIX в Azure Pipelines, достаточно утомителен, особенно для пользователей без большого опыта работы с Azure Pipelines и MSIX. Это расширение Azure DevOps предоставляет простое и интуитивно понятное решение, которое позволяет автоматизировать процесс сборки и развертывания приложений, упаковываемых в формат MSIX, а также для приложений с существующими рабочими процессами CI/CD, переносимых в формат MSIX, без нарушения механизмов их сборки и развертывания.

Расширение Упаковка MSIX содержит следующие задачи, которые можно использовать для настраиваемой сборки конвейера в соответствии с вашими требованиями:

  1. Сборка и упаковка MSIX — создание и упаковка приложений Windows с помощью формата упаковки MSIX.
  2. Подписывание пакетов MSIX — подписывание пакетов MSIX с помощью доверенного сертификата.
  3. Файл установщика приложений для MSIX — создание или обновление файла .appinstaller для приложений MSIX.
  4. Создание пакета для подключения приложения MSIX — создание пакета VHDX для подключения к приложению MSIX.

Установка расширения

Перейдите в Azure DevOps Marketplace и найдите имя расширения Упаковка MSIX.

Browse the marketplace

Создание конвейера

Создайте новый конвейер для проекта Azure DevOps.

select pipeline

New pipeline

Щелкните Use the classic editor to create a pipeline without YAML (Использовать классический редактор для создания конвейера без YAML).

Use the classic editor

Выберите систему управления версиями и укажите сведения о репозитории и ветви по умолчанию.

Configure source vcs

На запрос Выберите шаблон выберите вариант начать с пустым заданием.

Start with an empty job

Измените значение параметра Спецификация агента на windows-2019, так как расширение MSIX выполняется только в агенте Windows.

Agent specification windows

По умолчанию в конвейере должна отображаться запись Agent job 1 (Задание агента 1). Щелкните знак плюса, чтобы добавить задачу в задание агента 1.

Найдите MSIX на панели поиска Добавление задач, и вы увидите упомянутые ранее задачи расширения Упаковка MSIX. Вы можете выполнить настраиваемую сборку конвейера, добавив необходимые задачи в соответствии с вашими требованиями. Но мы покажем, как настроить все четыре задачи на этой странице.ADO Extension Image1

Сборка и упаковка MSIX

Примечание. Если вы пытаетесь создать упакованное приложение с помощью этой задачи, необходимо включить Проект упаковки приложений Windows, так как задаче требуется файл Package.appxmanifest. Задача не выполняет добавление автоматически.

Вот пример, в котором показано, как настроить задачу сборки и упаковки в файле YAML:

steps:
- task: MSIX.msix-ci-automation-task-dev.msix-packaging.MsixPackaging@1
  displayName: 'MSIX build and package'
  inputs:
    outputPath: '$(Build.ArtifactStagingDirectory)\MyApp.msix'
    solution: MyUWPApp.sln
    buildPlatform: x64
    updateAppVersion: true
    manifestFile: MyUWPApp/Package.appxmanifest
    appVersion: 2.0.0.0
    appPackageDistributionMode: SideloadOnly
    msbuildArchitecture: x64

Подписывание пакетов MSIX

Задача подписывания позволяет добавить подпись с помощью сертификата. Сертификат может поступать из библиотеки защищенных файлов или быть закодирован в виде строки, как при получении с помощью задачи Azure Key Vault.

Вот пример, в котором показано, как настроить задачу подписывания пакета в файле YAML:

steps:
- task: MSIX.msix-ci-automation-task-dev.msix-signing.MsixSigning@1
  displayName: 'Sign MSIX package'
  inputs:
    certificateType: base64
    encodedCertificate: '$(kvtestcert)'

Файл Установщика приложений для MSIX

Вот пример, в котором показано, как настроить задачу файла Установщика приложений в файле YAML:

steps:
- task: MSIX.msix-ci-automation-task-dev.app-installer-file.AppInstallerFile@1
  displayName: 'Create App Installer file'
  inputs:
    package: '$(Build.ArtifactStagingDirectory)\MyApp.msix'
    outputPath: '$(Build.ArtifactStagingDirectory)\MyApp.appinstaller'
    uri: 'https://myuwpapp-demo.azurewebsites.net/MyApp.appinstaller'
    mainItemUri: 'https://myuwpapp-demo.azurewebsites.net/MyApp.msix'
    showPromptWhenUpdating: true
    updateBlocksActivation: true

Создание пакета для подключения к приложению MSIX

Вот пример, в котором показано, как настроить задачу создания файла VHDX для подключения к приложению в файле YAML:

steps:
- task: MSIX.msix-ci-automation-task-dev.msix-app-attach.MsixAppAttach@1
  displayName: 'Create package for MSIX app attach'
  inputs:
    package: '$(Build.ArtifactStagingDirectory)\MyApp.msix'
    vhdxOutputPath: '$(Build.ArtifactStagingDirectory)\MyApp.vhdx'

Публикация пакета подключения приложения MSIX к AVD

Ниже приведен пример настройки задачи подключения приложения avd в yaml-файле:

steps:
- task: MSIX.msix-ci-automation-task-dev.avd-app-attach-publish.AVDAppAttachPublish@0
  displayName: 'Publish MSIX app attach package to AVD'
  inputs:
    vhdxPath: '$(Build.ArtifactStagingDirectory)/App.vhdx' 
    connectedServiceNameARM: 'ed1db943-1e1c-4eac-8683-ead2abc281b5' 
    resourceGroupName: 'appattach-test-rg' 
    storageAccount: 'appattachteststorage' 
    fileShare: 'appattach-test-fs' 
    hostPool: 'appattach-hostpool' 
    workSpace: 'appattach-test-ws' 
    applicationGroup: 'appattach-test-ag-rail' 

Способы предоставления отзывов

Мы будем рады услышать ваши отзывы о расширении Упаковка MSIX. Свяжитесь с нами с помощью следующих каналов: