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
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.
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:
Clique em New service Connection e selecione Apple App Store:
Vamos utilizar a opção "Token Based Authentication":
Key ID você encontra na AppleStoreConnect onde você criou a chave de Api:
Issuer ID você também vai encontrar na AppleStoreConnect, mas logo acima da lista de chaves de API:
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.
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)