Usando Github para publicar apps na PlayStore

Gustavo Navarro
Prolog App
Published in
3 min readJan 28, 2022

Gerar tag, gerar release, fazer build, verificar version code, preencher changelog, subir o apk na PlayStore. Muita coisa trabalhosa que, se ainda não fez, com certeza uma hora fará parte da vida de um Desenvolvedor Android.

É fácil perceber que tudo isso pode ser automatizado, visto que é sempre uma receitinha de bolo, e neste artigo quero mostrar como nós fizemos isso aqui dentro da PrologApp.

Nossa estrutura

Fazer o deploy do nosso app sempre foi algo que causou terror em nossos desenvolvedores. Todo mundo fugia disso, pelo grande trabalho e tempo que isso levava. Por conta disso, decidimos automatizar, já pensando no github actions.

Após muitas buscas sobre actions e conversas sobre a estrutura que adotaríamos, colocamos a mão na massa.

A primeira etapa foi definir como seria a nossa estrutura de deploy. Antes da automatização, nós fazíamos o build no próprio Android Studio, subíamos o apk para um servidor da Amazon, para que nossa equipe de vendas pudesse obter a versão mais atualizada de antemão para uso nas apresentações, e em seguida fazíamos o upload para a PlayStore.

Além disso, nós tínhamos duas branches principais no projeto: master e dev. A master guardava nosso código na versão de produção e a dev, era a branch que continha as novas linhas de código.

Com tudo isso mapeado, concluímos: todo nosso processo iria começar no merge para a master e finalizar em duas pontas: um upload para a Aws e outro para a PlayStore.

Além disso, por aqui nós usamos o discord para comunicação interna da empresa, então decidimos enviar mensagens em alguns canais informando que uma nova versão havia saído.

De forma resumida, ficamos com a seguinte estrutura:

Estrutura de deploy automático

Funcionamento da action

Nossa action ficou bem longa e completa, com várias chamadas de actions internas. Deixei aqui a explicação de cada etapa:

Configurando tudo

Para que a action funcione, é necessário que ela esteja no seguinte caminho: .github/workflows/

Além disso, também é necessário ter o arquivo NEW_RELEASE.md e CHANGELOG.md na raiz do projeto. A estrutura do arquivo NEW_RELEASE.md é a seguinte:

new_release.version_name=v1.30.0### Features
* Nova feature 1
* Nova feature 2
### Bug Fixes
* Correção de bug 1
* Correção de bug 2
### Refactors
* Refactor realizado 1
* Refactor realizado 2

Disparando a action

Por fim, para disparar a action, basta preencher o version name no arquivo NEW_RELEASE.md conforme tem o exemplo acima e mergear a branch de desenvolvimento (no nosso caso dev) na branch master.

Concluindo

Realmente fazer todo o deploy de um aplicativo é complexo. Também é complexo montar toda a estrutura de automatização, mas garanto que vale a pena. Tudo acontecer sozinho, com apenas poucos cliques, não tem preço!

Mas me conta, você tem seu deploy automatizado? Como foi o processo de automatizaçao? Estou curioso!

Atenção: estamos com vaga aqui no time! Acessa o link e dá uma olhada https://prologapp.com/trabalhe-com-a-gente/

--

--