A Extensão de Empacotamento do MSIX é uma extensão do Azure DevOps que ajuda a criar, empacotar e assinar os aplicativos do Windows usando o formato de pacote MSIX.
Os fluxos de trabalho de CI/CD se tornaram parte integrante do processo de desenvolvimento para melhorar a eficiência e a qualidade, ao mesmo tempo reduzindo o custo e o tempo de colocação no mercado. A solução de CI/CD da Microsoft, Pipelines do Azure DevOps, é amplamente adotada e popular, mas o processo atual de integração de fluxos de trabalho de build e de implantação para aplicativos que precisam ser empacotados como MSIX no Azure Pipelines é entediante, especificamente para pessoas que não são especialistas no Azure Pipelines e nem no MSIX. Essa extensão do Azure DevOps oferece uma solução simples e intuitiva, facilitando a automatização do processo de build e de implantação para aplicativos que estão sendo empacotados como MSIX e para aplicativos com fluxos de trabalho existentes de CI/CD a fim de mover para o MSIX sem interromper os mecanismos de build e de implantação.
A Extensão de Empacotamento do MSIX contém as seguintes tarefas que você pode usar para criar um pipeline personalizado de acordo com os requisitos:
Compilação e empacotamento do MSIX – para compilar e empacotar aplicativos do Windows usando o formato de pacote MSIX
Assinatura de pacote MSIX – Para assinar pacotes MSIX usando um certificado confiável
Arquivo do instalador do aplicativo para MSIX – Para criar ou atualizar um arquivo .appinstaller para os aplicativos MSIX
Criar pacote para a anexação de aplicativo MSIX – Para criar um pacote VHDX para a anexação de aplicativo MSIX
Instalar a extensão
Procure no Marketplace do Azure DevOps e busque o nome da Extensão de Empacotamento do MSIX.
Criar um pipeline
Crie um pipeline para o projeto do Azure DevOps.
Selecione a opção de Usar o editor clássico para criar um pipeline sem YAML.
Selecione o sistema de controle de versão e forneça os detalhes do repositório e do branch padrão.
Quando vir uma solicitação para Selecionar um modelo, clique em iniciar com um Trabalho vazio.
Altere a seleção de Especificação do Agente para windows-2019, uma vez que a extensão do MSIX é executada apenas em um agente do Windows.
Você deverá ver Trabalho do agente 1 por padrão no pipeline. Clique no símbolo de adição para Adicionar uma tarefa ao Trabalho do agente 1.
Pesquise por MSIX na barra de pesquisa Adicionar tarefas e você verá as tarefas mencionadas anteriormente na Extensão de Empacotamento do MSIX. Você pode criar o pipeline de maneira personalizada adicionando as tarefas necessárias de acordo com os requisitos. Mas nós demonstraremos como configurar todas as quatro tarefas nesta página.
Compilação e empacotamento do MSIX
Observação: caso você esteja tentando criar um aplicativo empacotado usando essa tarefa, é necessário incluir o Projeto de Empacotamento de Aplicativo do Windows, pois a tarefa precisa do arquivo Package.appxmanifest. A tarefa não será adicionada automaticamente para você.
Caminho de saída – Especifique o caminho de saída para o pacote MSIX que será criado por essa tarefa. O caminho do exemplo acima usa a variável predefinidaBuild.ArtifactStagingDirectory que é o caminho local no agente para armazenar artefatos e é usada aqui para armazenar os arquivos de saída da tarefa que podem ser publicados posteriormente usando uma tarefa de publicar artefatos.
Compilar solução com o MSBuild – Selecione esta opção para compilar a solução com o MSBuild para a plataforma de destino especificada. Deixe a caixa desmarcada se você já tiver binários que precisam apenas ser empacotados. Se você deixar a caixa desmarcada, será solicitado que forneça o caminho para os binários.
Projeto a Compilar – Forneça o caminho para o arquivo do projeto ou da solução que precisa ser compilado.
Limpar antes de Compilar – Marque essa caixa de seleção se quiser que a tarefa execute uma limpeza antes da compilação.
Gerar Grupo MSIX – Marque essa caixa de seleção para gerar um grupo MSIX em vez de um pacote. Não se esqueça de nomear o arquivo de saída na opção Caminho de Saída com a extensão .msixbundle, em vez de .msix.
Configuração – Escolha entre as configurações de compilação Depurar e Lançar.
Plataforma – Especifique a plataforma de compilação desejada, por exemplo, x64, x86 ou Qualquer CPU.
Atualizar a versão do aplicativo no Manifesto – Marque essa caixa de seleção para alterar a versão do aplicativo com a versão especificada no arquivo .appxmanifest do aplicativo. Isso não substituirá o arquivo .appxmanifest, mas vai alterar a versão do aplicativo no pacote MSIX de saída gerado. Se essa opção estiver selecionada, você será solicitado a fornecer o caminho para o arquivo de manifesto e o número da versão do aplicativo a ser definido para o aplicativo.
Modo de distribuição de pacotes do aplicativo – Selecione o modo no menu suspenso para gerar um Pacote do aplicativo de armazenamento ou Pacote de aplicativo que não seja de armazenamento.
Versão e Arquitetura do MSBuild – Personalize o MSBuild especificando opções avançadas.
Assinatura do pacote MSIX
A tarefa de assinatura permite assinar usando um certificado. O certificado pode vir da biblioteca de Arquivos Seguros ou ser codificado como uma cadeia de caracteres, como se fosse buscado por meio da tarefa do Azure Key Vault.
Este exemplo mostra a tarefa quando a origem do certificado é a biblioteca de Arquivos Seguros.
Este exemplo mostra a tarefa quando a origem do certificado é um Azure Key Vault.
Nome de exibição – Personalize o nome da tarefa
Pacote a ser assinado – A tarefa de assinatura de pacote MSIX usa a SignTool para assinar todos os arquivos correspondentes a esse caminho, independentemente de serem pacotes ou grupos MSIX.
Tipo de arquivo do certificado – Selecione a origem do arquivo de certificado a ser usado.
Servidor de carimbo de data/hora – Uma URL que especifica o endereço de um servidor de carimbo de data/hora. Esse é um parâmetro opcional.
Pacote – Esse é o caminho para o pacote ou o grupo para o qual você deseja criar um Instalador de Aplicativo.
Caminho do arquivo de saída – Este é o caminho do arquivo do Instalador de Aplicativo a ser gravado.
Método para criar o arquivo do Instalador de Aplicativo – Escolha se deseja criar um arquivo do Instalador de Aplicativo ou atualizar um arquivo existente. Se optar por atualizar um existente, você será solicitado a fornecer o caminho para o arquivo do Instalador do Aplicativo existente.
Versão do arquivo do Instalador de Aplicativo – O número da versão que será fornecida. Deve assumir a forma (principal).(secundária).(build).(revisão).
URI – URI da Web para o arquivo do Instalador de Aplicativo redirecionado.
URI principal do pacote/grupo – URI do local do pacote/grupo do aplicativo.
Atualizar ao iniciar – Selecione esta configuração para configurar o aplicativo para verificar se há atualizações ao ser iniciado. Se essa caixa de seleção estiver marcada, você será solicitado a fornecer detalhes como o número de Horas entre as verificações de atualização para Mostrar a interface do usuário ao atualizar e para que a Atualização bloqueie a ativação do aplicativo.
Caminho do pacote – Este é o caminho para o pacote/grupo MSIX.
Caminho de Saída do VHDX – Esse é o caminho do arquivo VHDX que será criado pela tarefa.
Tamanho do VHDX – O tamanho máximo do VHDX em MB.
Depois de configurar todas as tarefas, você pode usar uma tarefa Publicar artefatos de compilação a fim de remover todos os artefatos do local temporário para os artefatos do Azure Pipelines ou para o compartilhamento de arquivos de sua preferência.
Publicar pacote de anexação de aplicativo MSIX no AVD
Caminho do pacote – Este é o caminho para o pacote/grupo MSIX.
Caminho de Saída do VHDX – Esse é o caminho do arquivo VHDX que será criado pela tarefa.
Tamanho do VHDX – O tamanho máximo do VHDX em MB.
Nome de exibição – Personalize o nome da tarefa.
Caminho VHDX - Este é o caminho do arquivo VHDX que será anexado (publicar) à Área de Trabalho Virtual do Azure (AVD).
Assinatura do Azure - Esta é a conexão de serviço para a assinatura do azure de destino que seu aplicativo precisa ser anexado ao aplicativo. A lista suspensa lista todas as assinaturas do Azure disponíveis para o usuário conectado ao ADO atual, e o usuário pode selecionar qualquer uma delas e estabelecer conexão de serviço com ela.
Grupo de Recursos - Escolha o grupo de recursos que seu aplicativo precisa ser publicado. Esse grupo de recursos deve conter todos os recursos de destino necessários para a anexação de aplicativos, como conta de armazenamento, pool de hosts, espaço de trabalho e grupo de aplicativos. Esta lista suspensa exibe todos os grupos de recursos disponíveis na assinatura do Azure selecionada.
Conta de armazenamento - Escolha a conta de armazenamento que seu aplicativo (ou VHDX) deve ser carregado. Esta lista suspensa exibe todas as contas de armazenamento disponíveis no grupo de recursos selecionado.
Compartilhamento de arquivos - Escolha o compartilhamento de arquivos na conta de armazenamento selecionada que seu aplicativo (ou VHDX) deve ser carregado. Esta lista suspensa exibe todo o compartilhamento de arquivos disponível na conta de armazenamento selecionada.
Pool de hosts - Escolha o pool de hosts a ser usado para anexar o aplicativo. Esta lista suspensa exibe todos os pools de hosts disponíveis no grupo de recursos selecionado.
Workspace - Escolha o Workspace a ser usado para anexar o aplicativo. Esta lista suspensa exibe todos os Workspaces disponíveis no grupo de recursos selecionado.
Grupo de aplicativos - Escolha o grupo de aplicativos a ser usado para anexar o aplicativo. Esta lista suspensa exibe todos os grupos de aplicativos disponíveis no grupo de recursos selecionado.
Depois de configurar todas as tarefas, você pode usar uma tarefa Publicar artefatos de compilação a fim de remover todos os artefatos do local temporário para os artefatos do Azure Pipelines ou para o compartilhamento de arquivos de sua preferência.
Maneiras de fornecer comentários
Adoraríamos ouvir comentários sobre a Extensão de Empacotamento do MSIX. Entre em contato conosco por meio dos seguintes canais:
Examinar a extensão no Marketplace do Azure DevOps
Projeto de software livre do GitHub – O código-fonte dessa extensão faz parte do projeto de software livre do SDK do MSIX, que agradece contribuições e sugestões.