Jenkins: Uma solução de Integração Contínua para o Android

Victor Oliveira
Android Dev BR
Published in
4 min readJun 11, 2019

Neste artigo, vou apresentar um guia simples de como configurar a integração contínua para aplicações android usando o Jenkins.

Neste artigo não vou tratar das vantagens e desvantagens do Jenkins, aqui vou só expor minha experiência no uso desta ferramenta. Eu também não vou mostrar como instalar o Jenkins na sua máquina. Caso queira algum embasamento para isso, indico a leitura do artigo mencionando abaixo.

Configurar o Jenkins

Global properties

Abra o Jenkins: Manage Jenkins > Configure System -> Global properties. Marque “ Environment variables” e adicione:

  • ANDROID_HOME : /var/lib/jenkins/android-sdk
  • JAVA_HOME : /usr/lib/jvm/java-8-openjdk-amd64

Clique em Save.

Configurar seu repositório

Para a configuração do se repositório, primeiro é necessário criar uma chave SSH, e o nome dela deve ser id_rsa .

Nesse artigo vou usar o Git como exemplo. Para configurar o Git no Jenkins você deve seguir esses passos: Credentials > System > Global credentials > Add Credentials

Criando um build job

Criando no New Item

  • Abra o Jenkins> New Item > Insira o nome do job > Selecione o Freestyle project > Aperte Ok.
  • Uma dica importante, é que o nome do projeto seja o mesmo do nome da branch , assim você deixa tudo parametrizado.
Tela do opções na criação de job

Configurando o repositório

  • Vá até Source Code Management > Selecione git e configure os campos.
  • Repository URL, deve ser o formato de git@github.com: {username} / {repo} .git

Observe a imagem abaixo.

Configurando o build

Em Build Triggers, selecione Poll SCM e adicione Schedule:

* * * * *

Cinco “*” com espaço significa que o Jenkins verificará a cada minuto se houver alguma mudança no repositório git que executará a compilação.

Vá até build, e adicione build step > Execute shell

chmod +x gradlew
./gradlew clean
./gradlew assembleDebug
./gradlew lint
./gradlew test
./gradlew connectedAndroidTest

Configurando o emulador do android para os testes instrumentados

Caso você não tenha o emulador configurado em seu servidor, pule essa etapa e retire a linha ./gradlew connectedAndroidTest do build.

Caso queira configurar vá até Build Environment > Selecione Run an Android Emulator during build > Insira o nome do seu emulador em AVD name.

Curiosidade interessante. O Jenkins tem a opção de você criar um novo emulador na própria plataforma.

Vá até Post-build Actions para configurar o pós-compilação.

Adicionando o Lint results

Add post-build action > Publish Android Lint results > Insira no Lint files:

**/build/reports/lint-results.xml

Adicionando os arquivos de artefatos

Add post-build action > Archive the artifacts > Insira no File to archive

**/*.apk

Adicionando caminho do Test Report

Add post-build action > Publish JUnit test result report > Insira no Test report XMLs

**/build/outputs/androidTest-results/connected/*.xml

Configurando as notificações de e-mail

Para configurar a notificação de e-mail, basta seguir os passos abaixo.

Observe a tabela e insira os valores solicitados no Editable Email Notification. Use como base também a imagem abaixo.

Tudo feito. Clique em Aplicar e Salvar.

O resultado

--

--