Video thumbnail

    🚀 CI/CD Android com Azure DevOps | Pipeline Completa + Deploy Google Play

    Este artigo detalha o processo de implementação de um pipeline CI/CD (Integração Contínua/Entrega Contínua) para aplicações Android utilizando Azure DevOps, culminando na implantação para a Google Play Store. O objetivo principal é automatizar a construção, teste e implantação de aplicativos Android, garantindo eficiência e consistência. O processo é segmentado em duas fases principais: a fase de construção e a fase de implantação, cada uma composta por várias tarefas configuráveis. Desde a configuração do gatilho do pipeline até a integração com a Google Play Store através de uma conexão de serviço, o guia aborda cada etapa detalhadamente. Ele também discute a importância dos parâmetros de tempo de execução, a gestão de versões do aplicativo, a instalação de dependências, a construção do artefato (APK ou Bundle) e a aprovação manual para implantações de produção. Além disso, o artigo fornece informações sobre como configurar a autenticação e autorização necessárias no Google Cloud Platform e na Google Play Console, e inclui uma menção a um arquivo Docker para construção em ambientes Ubuntu, oferecendo uma alternativa ao agente macOS.

    Configuração do Gatilho do Pipeline

    A configuração inicial de um pipeline CI/CD no Azure DevOps envolve a definição de como o pipeline será ativado. O processo é acionado por ações como commits ou pull requests para um branch específico, como o branch de teste. No entanto, é possível excluir certos caminhos, como arquivos de configuração do próprio Azure DevOps (ex: azure-pipeline.yml), para evitar que alterações nesses arquivos acionem o pipeline. Isso permite um controle granular sobre quando as automações são executadas, garantindo que apenas as alterações relevantes ao código-fonte do aplicativo acionem o processo de CI/CD. Segundo o orador, "sempre que alguma ação acontecer no arquivo Azure-pipeline.yml, nenhum gatilho acontecerá, então o pipeline não será acionado quando você estiver fazendo um commit ou pull request no seu arquivo Azure-pipeline.yml".

    Agente do SO e Parâmetros

    Para este pipeline de CI/CD, utiliza-se um agente Mac OS, que é a base para a execução das tarefas de construção e implantação. Além disso, o pipeline incorpora parâmetros que permitem a entrada de dados do usuário em tempo de execução, como o "nome da versão" e as "notas da versão". O nome da versão, por exemplo, como '232', é crucial, pois a Google Play Store não permite o upload de aplicativos com o mesmo número de versão. Se a versão anterior foi '232', a próxima deve ser '233'. As notas da versão, por sua vez, servem para documentar as mudanças ou observações relevantes para cada implantação.

    Estágios de Construção e Implantação

    O pipeline é dividido em dois estágios principais para organizar as tarefas de forma lógica e eficiente: o estágio de construção e o estágio de implantação. Essa abordagem por estágios permite diferenciar as tarefas e garantir que elas sejam executadas na ordem correta, com dependências claras entre os processos.

    Estágio de Construção

    O estágio de construção é responsável por preparar o aplicativo para a implantação, incluindo a instalação de dependências e a geração do artefato do aplicativo.

    Instalação de Dependências

    A primeira tarefa no estágio de construção é a instalação de dependências. Para projetos Android que utilizam React Native, isso geralmente envolve a execução de comandos como yarn install ou npm install, que baixam os módulos especificados no arquivo package.json e em arquivos de configuração específicos do Android. Essa etapa garante que todas as bibliotecas e ferramentas necessárias para a construção estejam disponíveis no ambiente do agente.

    Processo de Construção com Gradle

    Após a instalação das dependências, o próximo passo é a construção do aplicativo. Utiliza-se a ferramenta Gradle, que exige a passagem de vários parâmetros, como o caminho para o arquivo gradlew (geralmente localizado na pasta android), a versão do Java Development Kit (JDK) (neste caso, a versão 17) e a quantidade de recursos de memória alocados (ex: 4096 MB de RAM). O processo de construção pode gerar um arquivo APK ou um Android App Bundle (AAB), dependendo da configuração do projeto. O artefato gerado é então copiado e publicado como um artefato de build no Azure DevOps, tornando-o acessível para estágios subsequentes e para futuras auditorias.

    Estágio de Implantação

    O estágio de implantação é condicional e só é executado após a conclusão bem-sucedida do estágio de construção e quando o pipeline é executado no branch principal (main). Esse estágio também incorpora um mecanismo de aprovação manual para garantir que as implantações para ambientes de produção sejam revisadas e aprovadas por indivíduos designados.

    Ambientes e Aprovações

    O Azure DevOps oferece o recurso de "ambientes", que permite definir um conjunto de recursos e aprovações para implantação. Neste caso, é configurado um ambiente chamado "Google Play Internal", onde aprovadores específicos devem autorizar a implantação. "Se o Sr. X aprovar essa implantação, então somente a implantação acontecerá para o estágio particular, caso contrário, ela permanecerá no estado de permissão pendente", explica o orador. Isso adiciona uma camada de segurança e controle, especialmente para lançamentos em lojas de aplicativos públicas.

    Tarefa de Lançamento na Google Play Store

    Uma vez que a construção foi concluída e o arquivo APK (ou AAB) está publicado, a tarefa de implantação baixa esse artefato e o envia para a Google Play Store. Os parâmetros de "nome da versão" e "notas da versão", definidos no início do pipeline, são passados nesta etapa para facilitar o reconhecimento da versão e suas informações na Play Store. Essa etapa finaliza o ciclo de CI/CD, automatizando o processo de lançamento do aplicativo para os usuários.

    Conexão de Serviço com a Google Play Store

    Para que o Azure DevOps possa se autenticar e interagir com a Google Play Developer API, é necessário configurar uma conexão de serviço. Esse processo envolve a criação de uma conta de serviço no Google Cloud Platform, a habilitação da Google Play Android Developer API, a geração de uma chave JSON e a adição dessa conta de serviço como um usuário na Google Play Console com as permissões apropriadas para gerenciar aplicativos. A chave JSON e o ID da conta de serviço são então configurados no Azure DevOps para estabelecer a autenticação e autorização necessárias.

    Arquivo Docker para Construção em Ubuntu

    Como um "ponto bônus", o orador compartilha um Dockerfile que permite construir aplicativos Android em um ambiente Ubuntu. Embora o pipeline principal use um agente macOS, este Dockerfile oferece flexibilidade para ambientes de construção Linux. Ele inclui a instalação das ferramentas necessárias, como Node.js e as ferramentas de linha de comando do Android (Android SDK Command Line Tools), permitindo a criação de imagens Docker personalizadas para a construção de aplicativos Android. Isso é particularmente útil para depuração e testes de configuração em diferentes sistemas operacionais.

    Takeaways

    1. Configuração do Gatilho: O pipeline é acionado por commits ou pull requests para branches específicos, com a opção de excluir arquivos específicos para maior controle.
    2. Agente e Parâmetros: Utiliza um agente macOS, com parâmetros de entrada para nome e notas da versão, essenciais para o controle de versão na Google Play Store.
    3. Estágios de Build e Deploy: O pipeline é dividido em estágios de construção e implantação, garantindo ordem lógica e dependências.
    4. Instalação de Dependências: A primeira tarefa do build é instalar dependências (ex: React Native modules via Yarn/NPM), preparando o ambiente.
    5. Construção com Gradle: O Gradle é utilizado para gerar o APK/AAB, com parâmetros de caminho, versão Java e recursos de memória.
    6. Publicação de Artefatos: O artefato construído é copiado e publicado no Azure DevOps para acesso em estágios subsequentes e auditoria.
    7. Condições de Implantação: O estágio de implantação é condicional, executado apenas após o sucesso do build e em branches específicos (ex: main).
    8. Aprovações de Ambiente: O recurso de ambientes do Azure DevOps permite aprovações manuais (ex: "Google Play Internal"), adicionando segurança à implantação.
    9. Implantação na Google Play Store: A tarefa final faz o upload do APK/AAB para a Google Play Store, utilizando os parâmetros de versão definidos.
    10. Conexão de Serviço: É crucial configurar uma conexão de serviço com a Google Play Store no Azure DevOps, utilizando uma conta de serviço e chave JSON do Google Cloud.
    11. Dockerfile para Ubuntu: Um Dockerfile é fornecido como bônus, permitindo a construção de apps Android em ambientes Ubuntu, oferecendo flexibilidade de SO.

    References

    This article was AI generated. It may contain errors and should be verified with the original source.
    VideoToWordsClarifyTube

    © 2025 ClarifyTube. All rights reserved.