Fonte: https://blog.xamarin.com/continuous-delivery-to-google-play-with-team-services/

Por James Montemagno, 31 de agosto de 2016

Tradução: salomaosilva, Azuris. Desenvolvedor Xamarin Azuris

 

Mobile DevOps é muito mais do que apenas continuamente construir um aplicativo com cada commit, mas também envolve o planejamento, testes e iteração com a implantação contínua. Nas postagens anteriores sobre a integração contínua no Visual Studio Team Services (VSTS), vimos como construir e assinar um Android e um aplicativo iOS application com Xamarin e Xamarin.Forms. Mas o que vem depois? Hoje, damos uma olhada no gerenciamento contínuo de entrega e lançamento para aplicativos do Android para obter nossos aplicativos nas mãos de nossos testadores e na loja de aplicativos para distribuição.

Iniciando

Neste ponto do nosso ciclo DevOps, temos o nosso aplicativo Android sendo continuamente construído com cada commit de código, assinado com o nosso keystore e publicando nossos artefatos para lançamento. Se você ainda não estiver nesse ponto, certifique-se de ler o primeiro post sobre como configurar aplicativos Android apps no VSTS. Além disso, podemos querer examinar automaticamente o aumento do nome da versão e do código aumento do nome da versão e do código para o nosso aplicativo Android para que cada compilação gere um pacote exclusivo.

Depois que tudo está sendo construído com sucesso, podemos passar para a guia Releases. Podemos pensar nesta seção do VSTS como um balcão único para qualquer coisa que queremos fazer com os artefatos que foram gerados a partir da seção construir. Podemos criar definições de lançamento exclusivas com etapas do que gostaríamos de executar, como enviar para o HockeyApp ou para o Google Play. Cada passo pode ocorrer automaticamente ou com uma liberação fechada que tem que ser aprovado antes que a etapa possa ser concluída. Construiremos uma definição de várias etapas para primeiro implantar automaticamente no HockeyApp para que desenvolvedores internos e testadores sejam instalados e, em seguida, uma implantação fechada para o Google Play.

Criando uma definição de versão

Na seção Releases, encontraremos um fluxo de trabalho muito semelhante ao da configuração do build. Tudo o que precisamos fazer é clicar na seta verde + e, em seguida, selecionar Criar Definição de Versão

Isso exibirá a caixa de diálogo criar nova definição de release. Selecione a definição vazia inferior para começar. Depois disso, a segunda tela na caixa de diálogo perguntará quais artefatos nós desejamos incluir na definição de release. Selecione a definição de compilação que você gostaria de usar e certifique-se de verificar a implantação contínua para que uma nova versão seja criada com cada compilação bem-sucedida. Por fim, podemos escolher a fila do agente hospedado para fazer as implantações.

Clicar em Criar nos levará à nossa primeira definição de lançamento que possui uma lista de Ambientes, que contém uma lista de tarefas a serem executadas quando uma lista de condições de implantação específicas foi atendida. Para especificar quais artefatos irão disparar a nossa definição de construção, toque na guia Disparadores (Triggers) e defina a origem de artefato de gatilho para a implantação contínua:

Implantação contínua no HockeyApp

Em nosso Nosso primeiro post, implantado no HockeyApp como parte do processo de construção. Isso pode funcionar para fins de desenvolvimento, mas integrá-lo em nosso ciclo de gerenciamento de versões nos dará maior controle sobre quando e como implementar. As etapas de implantação como parte dos lançamentos são quase idênticas: primeiro, devemos garantir que a Extensão p VSTS do HockeyApp esteja instalada em nosso projeto. Então, podemos adicionar uma nova Tarefa ao nosso primeiro ambiente de release, que eu chamei HockeyApp.

Preencha a Conexão HockeyApp, o ID do aplicativo e especifique o APK na pasta suspensa que devemos implantar. Além disso, podemos especificar se os usuários devem ser notificados, notas de versão e se é uma instalação obrigatória. Essa implantação ocorrerá automaticamente assim que nossa definição de compilação for aprovada com êxito.

Implementando no Google Play

Assim que estiver em mãos de nossos testadores internos, queremos liberá-lo para o próximo local lógico, a Google Play Store, para colocá-lo em produção. Isso requer que a Extensão VSTS para o Google Play seja instalada em seu projeto. Esta extensão tem várias funcionalidades, incluindo a liberação para alfa, beta ou de produção, aumentando a porcentagem de implantação de um aplicativo previamente implantado e até mesmo promovendo um aplicativo de uma faixa de lançamento para outra. Hoje, só iremos analisar a liberação de nosso aplicativo para a faixa alfa do Google Play para instalação. São necessárias algumas etapas como pré-requisitos para configurar uma Conta de Serviço do Google Play e gerar uma chave de API para tornar a conexão do Google Play como um ponto de extremidade de serviço. Certifique-se de seguir  estas instruções na página de instalaçao (em inglês).

Com a extensão e o serviço do Google Play configurados, podemos criar um novo ambiente que será acionado depois que nosso ambiente do HockeyApp estiver pronto. Selecione Adicionar ambiente e selecione Criar novo ambiente para abrir a caixa de diálogo Adicionar novo ambiente. Novamente, vamos selecionar a definição vazia, mas desta vez selecionando “próximo” nos permitirá configurar configurações adicionais de pré-implantação. O que podemos configurar neste ponto são usuários específicos que precisam aprovar uma versão. Isso é bom porque talvez não desejemos que todas as versões sejam lançadas no Google Play e podemos ser seletivos sobre quais compilações serão implementadas. Deixar Deploy automatically checked significa que essa etapa tentará obter aprovação após o aplicativo ter sido implantado com êxito no HockeApp. Isto é opcional, mas uma adição agradável, como também gostaríamos que ele fosse implementado no HockeyApp primeiro.

Podemos adicionar uma nova tarefa do Google Play – Release ao ambiente recém-criado.

Se você configurou o endpoint do Serviço, você pode especificá-lo nas configurações de tarefas; caso contrário, você também pode usar o arquivo de autenticação JSON fornecido pelo Google. Então só precisamos especificar o caminho do arquivo APK, track Alfa e, opcionalmente, podemos especificar um arquivo de notas de versão e metadados para carregar.

Salve a definição de release e, em seguida, podemos simular uma liberação selecionando o botão de liberação “+” e selecionando Criar nova versão. Isso abrirá uma caixa de diálogo para selecionar a compilação a ser implantada e iniciar uma implantação. Dentro de pouco tempo o aplicativo será implantado no HockeyApp:

Ao selecionar a versão, podemos ver que a implantação do Google Play está aguardando nossa aprovação para lançamento.

Agora, podemos aprovar ou rejeitar esta versão para implementação para ativar o Google Play.

Saiba mais

Neste post, cobrimos o gerenciamento de lançamentos para aplicativos do Android para HockeyApp e Google Play com apenas algumas tarefas simples. Você pode aplicar esta mesma estratégia de gerenciamento de lançamento para aplicativos iOS usando a Estensão VSTS da App Store da Apple para ajudar a manter suas implantações beta e de produção do iOS atualizadas (consulte o blog do anúncio  para obter mais detalhes). Implementando apenas algumas partes do ciclo DevOps pode economizar tempo e garantir uma liberação de alta qualidade com cada commit de código.

Quer saber mais? Veja To canal Xamarin Show  no canal 9: