MSIX Packaging è un'estensione di Azure DevOps che consente di compilare, assemblare in pacchetti e firmare le app di Windows usando il formato di pacchetto MSIX.
I flussi di lavoro CI/CD sono diventati parte integrante del processo di sviluppo per migliorare l'efficienza e la qualità, riducendo al tempo stesso 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.
L'estensione MSIX Packaging offre le funzionalità seguenti, che è possibile usare per personalizzare la pipeline in base alle proprie esigenze:
MSIX build and package: per compilare le app di Windows e assemblarle in pacchetti in formato MSIX
MSIX package signing: per firmare i pacchetti MSIX usando un certificato attendibile
App installer file for MSIX: per creare e aggiornare un file con estensione appinstaller per le app MSIX
Create package for MSIX app attach: per creare un pacchetto VHDX per il montaggio app MSIX
Installare l'estensione
Esplorare Azure DevOps Marketplace e cercare l'estensione MSIX Packaging.
Creare una pipeline
Creare una nuova pipeline per il progetto di Azure DevOps.
Selezionare l'opzione Usa l'editor classico per creare una pipeline senza YAML.
Selezionare il sistema di controllo della versione e specificare i dettagli relativi al repository e al ramo predefinito.
Quando viene chiesto di selezionare un modello, fare clic su Inizia con un processo vuoto.
Modificare la selezione della specifica dell'agente in windows-2019 perché l'estensione MSIX viene eseguita solo in un agente Windows.
Per impostazione predefinita, nella pipeline dovrebbe essere visualizzato il processo di Agent 1 . Fare clic sul segno più per aggiungere un'attività a Processo agente 1.
Cercare MSIX nella barra di ricerca Aggiungi attività e visualizzare le attività indicate in precedenza nell'estensione MSIX Packaging. È possibile creare una pipeline personalizzata aggiungendo le attività necessarie in base alle proprie esigenze. Verrà tuttavia illustrato come configurare tutte e quattro le attività in questa pagina.
MSIX build and package
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. L'attività non verrà aggiunta automaticamente.
Display name (Nome visualizzato): personalizzare il nome dell'attività.
Output Path (Percorso di output): specificare il percorso di output per il pacchetto MSIX che verrà creato da questa attività. Nell'esempio precedente è specificata la variabile predefinitaBuild.ArtifactStagingDirectory, che corrisponde al percorso locale dell'agente per l'archiviazione degli artefatti e viene usata qui per archiviare i file di output dell'attività. Questi ultimi potranno essere pubblicati in un secondo momento tramite un'attività di pubblicazione di artefatti.
Build Solution with MSBuild (Compila soluzione con MSBuild): selezionare questa opzione per compilare la soluzione con MSBuild per la piattaforma di destinazione specificata. Lasciare deselezionata la casella se sono già presenti file binari da inserire in un pacchetto. Se si lascia deselezionata la casella, verrà chiesto di specificare il percorso dei file binari.
Project to Build (Progetto da compilare): specificare il percorso del file del progetto o della soluzione da compilare.
Clean before Building (Pulisci prima di compilare): selezionare questa casella di controllo se si vuole che l'attività esegua una compilazione pulita prima di generare la build.
Generate MSIX Bundle (Genera bundle MSIX): selezionare questa casella di controllo per generare un bundle MSIX invece di un pacchetto. Verificare che nel campo Output Path (Percorso di output) sia specificato un nome con estensione msixbundle, e non msix, per il file di output.
Configuration (Configurazione): scegliere una delle due configurazioni di build, Debug o Release.
Platform (Piattaforma): specificare la piattaforma per la build, ad esempio x64, x86, Any CPU (Qualsiasi CPU).
Update App Version in Manifest (Aggiorna la versione dell'app nel manifesto): selezionare questa casella di controllo per modificare la versione dell'app rispetto a quella specificata nel file con estensione appxmanifest dell'app. Il file con estensione appxmanifest non verrà sovrascritto, ma verrà modificata la versione dell'app nel pacchetto MSIX di output generato. Se questa opzione è selezionata, verrà chiesto di specificare il percorso del file manifesto e il numero di versione da impostare per l'app.
Application Package Distribution Mode (Modalità di distribuzione del pacchetto dell'applicazione): selezionare la modalità dal menu a discesa per generare un pacchetto dell'app per lo Store oppure un pacchetto non destinato allo Store.
Versione e architettura di MSBuild: personalizzare MSBuild specificando le opzioni avanzate.
Firma dei pacchetti 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.
Questo esempio mostra l'attività quando l'origine del certificato è la libreria di file protetti.
Questo esempio mostra l'attività quando l'origine del certificato è un insieme di credenziali delle chiavi di Azure.
Display name (Nome visualizzato): personalizzare il nome dell'attività.
Package to sign (Pacchetto da firmare): l'attività di firma del pacchetto MSIX usa SignTool per firmare tutti i file corrispondenti al percorso specificato, indipendentemente dal fatto che si tratti di bundle o pacchetti MSIX.
Tipo di file di certificato: selezionare l'origine del file di certificato da usare.
Time Stamp Server (Server di timestamp): URL che specifica l'indirizzo di un server di timestamp. Questo è un parametro opzionale.
Display name (Nome visualizzato): personalizzare il nome dell'attività.
Package (Pacchetto): percorso del pacchetto o del bundle per cui si vuole creare un programma di installazione app.
Output File Path (Percorso file di output): percorso del file del programma di installazione app da scrivere.
Method to Create App Installer File (Metodo per creare il file del programma di installazione app): scegliere se creare un nuovo file del programma di installazione app o aggiornarne uno esistente. Se si sceglie di aggiornarne uno esistente, verrà chiesto di specificare il percorso del file esistente.
Version for App Installer file (Versione per il file del programma di installazione app): numero di versione da assegnare. Deve avere il formato (principale).(secondaria).(build).(revisione).
URI: URI Web del file del programma di installazione app reindirizzato.
Main Package/Bundle URI (URI pacchetto/bundle principale): URI del percorso del pacchetto o del bundle dell'app.
Update On Launch (Aggiorna all'avvio): selezionare questa opzione per impostare l'app in modo da verificare la disponibilità di aggiornamenti all'avvio. Se questa casella di controllo è selezionata, verrà chiesto di specificare i dettagli, ad esempio il numero di ore tra i controlli degli aggiornamenti, se mostrare l'interfaccia utente durante l'aggiornamento e se l'aggiornamento deve bloccare l'attivazione dell'app.
Display name (Nome visualizzato): personalizzare il nome dell'attività.
Package Path (Percorso del pacchetto): percorso del pacchetto o del bundle MSIX.
VHDX Output Path (Percorso di output VHDX): percorso del file VHDX che verrà creato dall'attività.
VHDX size (Dimensione VHDX): dimensione massima in MB del file VHDX.
Dopo aver configurato tutte le attività, è possibile eseguire un'attività Pubblica artefatti della compilazione per spostare tutti gli artefatti dalla posizione temporanea negli artefatti di Azure Pipelines o in una condivisione file di propria scelta.
Display name (Nome visualizzato): personalizzare il nome dell'attività.
Package Path (Percorso del pacchetto): percorso del pacchetto o del bundle MSIX.
VHDX Output Path (Percorso di output VHDX): percorso del file VHDX che verrà creato dall'attività.
VHDX size (Dimensione VHDX): dimensione massima in MB del file VHDX.
Display name (Nome visualizzato): personalizzare il nome dell'attività.
Percorso VHDX: percorso del file VHDX che verrà collegato(pubblica) a Desktop virtuale Azure (AVD).
Sottoscrizione di Azure: si tratta della connessione al servizio per la sottoscrizione di Azure di destinazione a cui deve essere collegata l'applicazione. Nell'elenco a discesa sono elencate tutte le sottoscrizioni di Azure disponibili per l'utente ad accesso ADO corrente e l'utente può selezionare una di queste sottoscrizioni e stabilire una connessione al servizio.
Gruppo di risorse: scegliere il gruppo di risorse che deve essere pubblicato dall'app. Questo gruppo di risorse deve contenere tutte le risorse di destinazione necessarie per il collegamento dell'app, ad esempio l'account di archiviazione, il pool di host, l'area di lavoro, il gruppo di applicazioni. Questo elenco a discesa elenca tutti i gruppi di risorse disponibili nella sottoscrizione di Azure selezionata.
Account di archiviazione: scegliere l'account di archiviazione da caricare (o VHDX). Questo elenco a discesa elenca tutti gli account di archiviazione disponibili nel gruppo di risorse selezionato.
Condivisione file: scegliere la condivisione file nell'account di archiviazione selezionato che l'applicazione (o VHDX) deve essere caricata. Questo elenco a discesa elenca tutte le condivisioni file disponibili nell'account di archiviazione selezionato.
Pool di host: scegliere il pool di host da usare per il collegamento dell'applicazione. Questo elenco a discesa elenca tutti i pool di host disponibili nel gruppo di risorse selezionato.
Area di lavoro: scegliere l'area di lavoro da usare per collegare l'applicazione. Questo elenco a discesa elenca tutte le aree di lavoro disponibili nel gruppo di risorse selezionato.
Gruppo di applicazioni: scegliere il gruppo di applicazioni da usare per il collegamento dell'applicazione. Questo elenco a discesa elenca tutti i gruppi di applicazioni disponibili nel gruppo di risorse selezionato.
Dopo aver configurato tutte le attività, è possibile eseguire un'attività Pubblica artefatti della compilazione per spostare tutti gli artefatti dalla posizione temporanea negli artefatti di Azure Pipelines o in una condivisione file di propria scelta.
Come inviare feedback
Il feedback degli utenti sull'estensione MSIX Packaging sarà molto apprezzato. Per contattare Microsoft sono disponibili i canali seguenti:
Recensire l'estensione in Azure DevOps Marketplace
Progetto open source GitHub: il codice sorgente di questa estensione fa parte del progetto open source di MSIX SDK. I contributi e i suggerimenti degli utenti sono ben accetti.