Práticas recomendadas para distribuir aplicativos da Apple para testadores de controle de qualidade usando CI/CD e fastlane

Este documento apresenta as práticas recomendadas para usar o Firebase App Distribution e o fastlane para tornar os fluxos de trabalho de teste de pré-lançamento da plataforma Apple sustentáveis ​​e repetíveis em um ambiente de CI/CD. Embora este documento se concentre no fastlane, também descrevemos soluções disponíveis por meio do console do Firebase, da Firebase CLI e da API pública Firebase App Distribution para oferecer mais flexibilidade. Também descrevemos os limites de lançamento e de teste para que você possa planejar com antecedência uma experiência ideal.

Se você também usa Android, consulte Práticas recomendadas para distribuição de aplicativos Android para testadores de controle de qualidade usando CI/CD .

Antes de você começar

Antes de implementar as práticas recomendadas neste documento, ative o App Distribution no Firebase console para cada aplicativo . Se você não habilitou o App Distribution, receberá um erro 404.

Para ativar o App Distribution, siga estas etapas:

  1. Abra a página App Distribution no console do Firebase.

  2. Selecione seu aplicativo iOS.

  3. Clique em Começar .

Automatize seu fluxo de trabalho de testes de pré-lançamento usando CI/CD

Se você deseja automatizar a criação e o lançamento de aplicativos para seus testadores e estiver usando CI/CD, recomendamos usar fastlane . Outra opção é usar o Firebase CLI, que permite acessar uma ampla variedade de produtos Firebase.

Usar via rápida

Integre o App Distribution ao seu pipeline de CI/CD usando fastlane, uma ferramenta de código aberto que automatiza a criação e o lançamento de aplicativos iOS e Android. Ao criar e distribuir automaticamente suas versões mais recentes aos testadores, você garante que eles sempre tenham a versão de teste mais atualizada do seu aplicativo.

Para saber como integrar o App Distribution ao fastlane, consulte Distribuir aplicativos iOS para testadores usando o fastlane . Veja também um codelab que orienta você no processo de integração do fastlane.

Usar a CLI do Firebase

Use as ferramentas Firebase CLI fornecidas pelo App Distribution para distribuir versões aos testadores de maneira programática. Você pode especificar testadores e notas de versão para uma compilação.

Distribua sua versão mais recente do iOS test.ipa especificando o Firebase App ID do aplicativo, opcionalmente adicionando uma nota de lançamento e um arquivo contendo os e-mails dos testadores:

firebase appdistribution:distribute test.ipa  \
    --app 1:1234567890:ios:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

Para saber mais sobre como usar a CLI do Firebase para automatizar suas compilações, consulte Distribuir aplicativos iOS para testadores usando a CLI do Firebase .

Use credenciais de serviço para autenticar

Use o plug-in Fastlane do App Distribution ou a CLI do Firebase com contas de serviço, que aproveitam as credenciais padrão do aplicativo e ajudam você a gerenciar seu CI. Uma conta de serviço é um tipo de conta do Google que representa aplicativos em vez de usuários. Seu sistema de CI pode usar contas de serviço para executar cargas de trabalho do App Distribution. Para saber mais, consulte Autenticar com uma conta de serviço .

Se estiver usando a federação de identidade de carga de trabalho, você poderá gerar e usar um arquivo de configuração de credencial em vez de uma chave de conta de serviço.

Lembre-se dos limites de liberação

O App Distribution suporta no máximo 1.000 versões por aplicativo. Isso significa que quando você excede o limite de lançamentos, o App Distribution exclui automaticamente os lançamentos mais antigos acima do limite. Para saber como gerenciar os limites de lançamento, consulte Por quanto tempo os lançamentos de aplicativos estão disponíveis?

Adicione o mesmo conjunto de testadores a várias versões

Se você quiser adicionar um grande número de testadores às suas versões, use a funcionalidade de gerenciamento de testadores em massa do App Distribution.

Recomendamos que você use grupos para adicionar os mesmos testadores a diversas versões. Um grupo atua como uma lista de controle de acesso; quando você remove um testador de um grupo, ele perde acesso a todas as versões distribuídas para esse grupo. Para saber mais, consulte Adicionar e remover testadores de um grupo .

Se você tiver muitos testadores para gerenciar, poderá adicionar e excluir testadores em massa usando o Firebase Console. Para automatizar a adição e remoção de testadores, use a CLI do Firebase , o fastlane ou a API pública do Firebase App Distribution .

Lembre-se dos limites do testador

O App Distribution limita o número de testadores que você pode adicionar a um projeto do Firebase ou a um grupo do App Distribution. Ao exceder esses limites, você não poderá distribuir seu aplicativo para testadores adicionais. Para saber mais sobre os limites do testador, consulte Existem limites para adicionar testadores ao meu aplicativo?

Gerencie e adicione automaticamente novos dispositivos de teste iOS

Para ajudá-lo a registrar dispositivos de teste iOS adicionais, o App Distribution ajuda você a gerenciar seus dispositivos de teste iOS no Apple Developer Portal, informando sobre novos dispositivos iOS de teste por e-mail ou arquivos CSV. Para saber mais, consulte Importar testadores de arquivos CSV . Você também pode exportar programaticamente novos dispositivos usando fastlane .

Para saber como configurar uma ação fastlane que extrai automaticamente UDIDs, adiciona-os ao console do desenvolvedor da Apple e, em seguida, reconstrói o aplicativo e o distribui, consulte Distribuir suas versões de pré-lançamento do iOS mais rapidamente com App Distribution e fastlane .

Permitir que potenciais testadores se registrem automaticamente para testes

Para facilitar a distribuição do seu aplicativo para mais testadores, recomendamos que você use links de convite. Um link de convite é um URL exclusivo que permite aos testadores inserir seus endereços de e-mail para se inscreverem e testarem um aplicativo. Permitir que os usuários se adicionem à sua lista de testadores de aplicativos é uma maneira perfeita de aumentar sua base interna de testes.

Os casos de uso de links de convite incluem programas dogfood de empresas, organizações com grandes equipes de controle de qualidade e grupos de desenvolvedores que desejam que clientes individuais possam controlar o acesso do testador.

Recomendamos que você crie um link de convite para um grupo. Qualquer testador que se inscrever usando o link de convite será automaticamente adicionado às versões subsequentes.

Para saber mais, consulte Criar links de convite e Adicionar e remover testadores de um grupo .

Certifique-se de que os testadores estejam testando a versão de seu interesse

Quando uma nova versão é carregada, seus testadores são notificados por e-mail. Para complementar esta notificação, você pode usar os seguintes recursos – links de lançamento e alertas no aplicativo – para garantir que seus testadores estejam testando a versão específica do aplicativo de seu interesse:

  • Links de lançamento: use este recurso quando quiser compartilhar uma versão específica com testadores. Para saber como usar links de lançamento, consulte Distribuir aplicativos iOS para testadores usando o Firebase Console . Esses links também estão disponíveis com nossas ferramentas de linha de comando (CLI) Firebase e fastlane para uso com suas ferramentas de automação de build.

  • Alertas no aplicativo: use esses alertas quando quiser garantir que seus testadores estejam testando a versão mais recente do seu aplicativo. Ao integrar o SDK do Firebase App Distribution para iOS, você pode exibir alertas diretamente no aplicativo para seus testadores quando novas versões do seu aplicativo estiverem disponíveis. Para saber como adicionar alertas no aplicativo, consulte Notificar testadores sobre novos builds .

Remover automaticamente o acesso de testadores que saem da empresa

Depois que seu fluxo de testes internos de CI/CD estiver instalado e funcionando, você precisará garantir que as pessoas que saem da empresa não tenham mais acesso às suas compilações internas. Para ajudar você a gerenciar o acesso do testador às compilações, o App Distribution oferece as seguintes opções: