Estensione per la creazione di pacchetti MSIX

MSIX Packaging Extension è un'estensione di Azure DevOps che consente di compilare, creare pacchetti e firmare app di Windows usando il formato del pacchetto MSIX.

I flussi di lavoro CI/CD sono diventati parte integrante del processo di sviluppo per migliorare l'efficienza e la qualità riducendo i costi e i tempi di commercializzazione. La soluzione CI/CD di Microsoft Azure DevOps Pipelines è ampiamente adottata e diffusa, ma il processo corrente di integrazione dei flussi di lavoro di compilazione e distribuzione per le app che devono essere inserite come MSIX in Azure Pipelines è noioso, in particolare per le persone che non sono esperti di Azure Pipelines o MSIX. Questa estensione Azure DevOps offre una soluzione semplice e intuitiva che semplifica l'automazione del processo di compilazione e distribuzione per le app in pacchetto come MSIX e per le app con flussi di lavoro CI/CD esistenti per passare a MSIX senza interrompere i meccanismi di compilazione e distribuzione.

MSIX Packaging Extension contiene le attività seguenti che è possibile usare per creare la pipeline personalizzata in base ai requisiti:

  1. Compilazione e pacchetto MSIX : per compilare e creare un pacchetto di app di Windows usando il formato del pacchetto MSIX
  2. Firma del pacchetto MSIX : per firmare pacchetti MSIX usando un certificato attendibile
  3. File del programma di installazione dell'app per MSIX - per creare o aggiornare un file con estensione .appinstaller per le app MSIX
  4. Creare un pacchetto per MSIX App Attach : per creare un pacchetto VHDX per MSIX App Attach

Installare l'estensione

Esplorare Azure DevOps Marketplace e cercare il nome dell'estensione MSIX Packaging Extension.

Esplorare il marketplace

Crea una pipeline

Creare una nuova pipeline per il progetto Azure DevOps.

selezionare la pipeline

Nuova pipeline

Selezionare l'opzione Usa l'editor classico per creare una pipeline senza YAML.

Usare l'editor classico

Selezionare il sistema di controllo della versione e specificare i dettagli del repository e del ramo predefinito.

Configurare VCS di origine

Quando viene chiesto di selezionare un modello, fare clic su Inizia con un processo vuoto.

Inizia con un lavoro vuoto

Modificare la selezione della specifica dell'agente in windows-2019 perché l'estensione MSIX viene eseguita solo in un agente Windows.

Finestre delle specifiche dell'agente

Per impostazione predefinita, nella pipeline dovrebbe essere visualizzato incarico Agente 1. Fare clic sul simbolo più per aggiungere un'attività al compito di Agente 1.

Cercare MSIX nella barra di ricerca Aggiungi attività e visualizzare le attività indicate in precedenza nell'estensione MSIX Packaging . È possibile personalizzare la pipeline aggiungendo le attività necessarie in base ai requisiti. Verrà tuttavia illustrato come configurare tutte e quattro le attività in questa pagina. Immagine dell'estensione ADO1

Compilazione e pacchetto MSIX

Nota: se si sta tentando di compilare un'app in pacchetto usando questa attività, sarà necessario includere il progetto di creazione pacchetti di applicazioni Windows, perché l'attività richiede il file Package.appxmanifest. Non verrà aggiunto automaticamente per te.

Ecco un esempio che illustra come configurare l'attività di compilazione e pacchetto nel file 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

Firma del pacchetto MSIX

L'attività di firma consente la firma usando un certificato. Il certificato può provenire dalla libreria Secure Files o essere codificato come stringa come se fosse stato recuperato con l'attività Azure Key Vault.

Di seguito è riportato un esempio che illustra come configurare l'attività di firma del pacchetto nel file yaml:

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

File del programma di installazione dell'app per MSIX

Di seguito è riportato un esempio che illustra come configurare l'attività file AppInstaller nel file 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

Creare un pacchetto per MSIX App Attach

Ecco un esempio che illustra come configurare l'attività per creare un file VHDX per il collegamento dell'app nel file 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'

Pubblicare il pacchetto MSIX App Attach in AVD

Ecco un esempio che illustra come configurare l'attività di collegamento dell'app avd nel file 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' 

Modi per fornire commenti e suggerimenti

Microsoft vuole ricevere commenti e suggerimenti sull'estensione MSIX Packaging . Contattaci tramite i canali seguenti: