DEV Community

Cover image for Maui publicando IPA na AppleStore pelo AzureDevops
Felipe Baltazar
Felipe Baltazar

Posted on

Maui publicando IPA na AppleStore pelo AzureDevops

Configurando CI/CD para aplicativos dotnet MAUI utilizando AzureDevops

MAUI and AzureDevops
Esse artigo faz parte de uma série que visa explicar sobre todo potencial que podemos adquirir através de pipelines automatizadas.
Nesses artigos vou apresentar formas de criar essas automações tanto utilizando o Azure Pipelines quanto o Github Actions.
Caso você tenha alguma outra sugestão de artigo, fique a vontade para sugerir nos comentários no final do post!


1. Build dos artefatos

Para seguirmos nesse tópico de publicação precisamos ter configurado o build que vai gerar o nosso artefato (IPA).
Caso ainda nao tenha configurado isso, você pode conferir meu outro post que ensina a configurar o build para Android e IOS.


2. Instalando extensões

Image description

https://marketplace.visualstudio.com/items?itemName=ms-vsclient.app-store

** Caso você não seja o administrador do AzureDevops, vai ser necessário solicitar permissão para instalar a extensão


3. Service Connection

Vamos criar a conexão que vai ser usada para a pipeline se comunicar com a AppleStore.
Para isso vamos precisar ir até a AppleStoreConnect e criar uma chave de API.

Image description

Clique em adicionar uma nova chave e forneça as permissões necessarias para que seja possivel publicar uma nova versão.

Baixe o arquivo que contém a privateKey e armazene em segurança.
** Você não terá mais acesso ao download desse arquivo posteriormente.

No AzureDevops, vá até Configurações do projeto => Service Connections:

Image description

Clique em New service Connection e selecione Apple App Store:

Image description

Vamos utilizar a opção "Token Based Authentication":

Image description

Key ID você encontra na AppleStoreConnect onde você criou a chave de Api:

Image description

Issuer ID você também vai encontrar na AppleStoreConnect, mas logo acima da lista de chaves de API:

Image description

KeyContent você vai precisar copiar todo o conteúdo do arquivo .p8, que você baixou da sua nova chave de API, e convertê-lo para base64 (na internet tem varios conversores de string para base64).

Depois desses passos, inclua um nome para seu ServiceConnection que seja facil de você identificar na pipeline.


4. Pipeline Task

Agora vamos utilizar a Task "AppStoreRelease@1" para publicar nosso app no TestFlight.

Image description

Configure com a conexão que acabou de criar e os dados do seu app.


Considerações finais

Nesse post aprendemos um pouco do funcionamento do AzurePipelines, utilizando yaml focado em MAUI. No meu proximo post ensinarei a fazer a publicação dos artefatos para Android.
Caso tenha dúvidas sobre alguma tema específico, deixa aqui nos comentários para eu trazer de forma simplificada para você.

Repositório de exemplo:
https://github.com/felipebaltazar/Maui.AzurePipelines

Referências:

DevOps With .Net Maui
Getting Started With DevOps and .Net MAUI

Top comments (0)