Jenkins: Uma solução de Integração Contínua para o Android
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-sdkJAVA_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.
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
Obrigado pela leitura! Espero que tenham gostado do artigo :) Se você conversar é só chamar no Twitter. Caso queira ver um pouco de código, segue no Github.