Como compilar aplicativos Android com Jenkins

em tempos de desenvolvimento de software através de metodologias ágeis, scrum e integração contínua, onde todos os membros de uma equipe são freqüentemente pretendidos e podem executar vários uploads por dia, dependendo do Tarefas para desenvolver, é essencial usar ferramentas que permitam o status do produto em todos os momentos, as diferentes versões e o estado que é encontrado.

Cada vez que um aumento é executado código para o repositório, um Integração que compila o código-fonte e verifica que ele foi feito corretamente, obtendo um executável do aplicativo. Para este processo, em SDOS, optamos pelo uso de Jenkins, um software livre e código aberto escrito em Java e é baseado no projeto Hudson.

Por que Jenkins?

Sistema suporta ferramentas de controle de versão, como svn ou git e executar projetos baseados em formiga e maven, grau, etc. Além disso, sendo um projeto de código aberto, é o mais utilizado pelos desenvolvedores, com uma grande comunidade de desenvolvimento e apoio.

Mas Jenkins não é apenas uma ferramenta para a equipe de desenvolvimento, também serve para o QA Equipamento: da mesma forma que permite a execução de testes automáticos ou até mesmo o uso de Sonarqube, logo após cada compilação permite verificar a qualidade do aumento.

Como usar Jenkins com o Android?

No desenvolvimento Android, Jenkins pode nos servir para gerar um .apk toda vez que realizamos uma subida de código para o repositório, mantendo-a em um servidor FTP onde teremos uma lista de todas as versões geradas.

Neste post, informamos como completar o processo inteiro. Nós começamos!

Criar um projeto no Jenkins

primeiro, criamos um novo emprego em Jenkins.

Em seguida, selecionamos um novo projeto Freestyle para poder configurá-lo de acordo com nossas necessidades. Nós escrevemos um nome e clique em OK.

Configure as seções do trabalho

geral

Nesta seção definiremos o seguinte:

    nome do projeto e descrição do projeto. É aconselhável dar um nome intuitivo ao projeto e uma descrição específica para saber qual trabalho está em execução:

  • Quando as compilações antigas são baixadas. É importante definir um número máximo de compilação para salvar, pois não queremos sobrecarregar a máquina ou preencher as execuções do trabalho. Como uma recomendação, ficaremos com as últimas 10 execuções realizadas. Se, fora do projeto, precisamos de mais, o número poderá ser aumentado, mas deve ser apenas em casos específicos.
  • Parâmetros para executar o projeto. Na parte geral, também definiremos os parâmetros necessários para executar um trabalho. Para adicioná-los, temos que clicar neste projeto é parametrizado e selecione um parâmetro de escolha. Os parâmetros para a compilação de um aplicativo Android serão os seguintes:
    • tipo. Por padrão no Android, dois tipos, depuração e liberação, mas os tipos personalizados podem ser adicionados. No nosso caso, adicionaremos: lançamento, pré-produção e depuração.
    • sabores. Um sabor define uma versão personalizada do aplicativo. Isso nos permite definir personalizações diferentes do aplicativo, dependendo da variante que precisamos. Por exemplo, poderíamos ter uma farinha para uma demonstração da aplicação e outra com a aplicação completa do pagamento.
    • parâmetro Git. Vamos definir como um parâmetro o ramo que queremos do repositório concreto. Teremos que definir um valor padrão para execuções automáticas. Se tivermos muitos ramos no mesmo repositório, podemos fazer um filtro por nome de ramificação como, por exemplo ,. * _ RC. * (Todos os ramos que incluem _rc, candidato de reler).

Você pode encontrar mais informações sobre os parâmetros neste link.

Gerenciamento de código fonte

Nesta seção, definiremos o tipo de repositório que queremos usar, em nosso Caso será Git.

Uma vez que selecionamos a opção Git, temos que adicionar:

  • URL do repositório. Onde está o código do projeto salvo.
  • credenciais. Usaremos o usuário Git adicionado anteriormente em Jenkins.
  • Branch. Vamos especificar o ramo específico do projeto que usaremos. Como escolhemos um com o parâmetro Git Parameter, passamos o valor desse parâmetro com $ ramo.

Construa gatilhos

neste Seção Nós definiremos o tipo de ativador que precisamos executar a compilação. Se não adicionarmos nenhum, será apenas executado quando formos forçámos. A partir daqui, também podemos:

  • Execute uma execução remota de um script.
  • Execute a execução periodicamente, por exemplo, todas as noites às 00:00.
  • Realizar uma execução quando ocorrer um push ou uma nova solicitação de mesclagem ocorrer no repositório.

Por enquanto, vamos deixá-lo por padrão e vamos executá-lo manualmente.

Construir o ambiente

Nesta seção, definiremos duas opções:

  1. Excluir a pasta do espaço de trabalho antes de cada execução (para executar uma execução limpa).
  2. Adicionar o registro de data e hora aos logs para ter mais informações.

Construir

Na seção de compilação, adicionaremos um shell de execução para executar os seguintes comandos:

  • chmod + x gradlew: fornece permissões de execução para o arquivo Gradlew caso você não os tenha (por padrão, ele já os tem).
  • ./ Gradlew: Execute o Arquivo gradlew na máquina onde Jenkins é um linux (cuidado deste arquivo!).
  • Montar: é a ordem para compilar um aplicativo Android.
  • $ sabor: sabor escolhido para execução . Colocamos $ para substituir o valor do parâmetro selecionando-se no drop-down do sabor na seção geral.
  • $ Type: Tipo escolhido para execução. Colocamos $ para substituir o valor do parâmetro pelo tipo de lista suspensa selecionado na seção geral.

pós-compilação Ações

desta seção, principalmente Três ações:

  • Salve o artefato gerado. Manteremos todos os arquivos .apk gerados na compilação do projeto. Por padrão, vamos salvá-lo em: ** / *. APK
  • enviaremos o arquivo .apk dentro da pasta / APKS / A UM Servidor FTP. No nosso caso, temos um servidor chamado NAS1 em que salvaremos o APK gerado em uma pasta já criada dentro do servidor.Nota: Para configurar a conexão com um servidor FTP, devemos ir para gerenciar Jenkins > Configure jenkins > Publique sobre FTP e adicione os dados correspondentes ao nosso servidor.
  • Enviar e-mail toda vez que você terminar uma compilação usando a ação de notificação de e-mail editável pós-compilação. A configuração que teremos o seguinte:

Você pode copiar o conteúdo da mensagem padrão deste HTML:

Assunto padrão

 Result of Build $BUILD_NUMBER ${JOB_NAME} Project.

<html><p> Hello. </p><p>This mail is auto-generated as part of the Jenkins execution of the project <b>${JOB_NAME}</b> </p><h2> BUILD DETAILS: </h2><p> <b>Project Name:</b> ${JOB_NAME} <br> <b>Build URL:</b> ${BUILD_URL} <br> <b> Build Number: </b> ${BUILD_NUMBER} <br> <b>Build Status: </b> ${BUILD_STATUS} <br> <b>Type: </b> $Type <br> <b>Flavor: </b> $Flavor <br> <b>Branch: </b> $Branch <br> <b>Download APK: </b> ${BUILD_URL}/lastSuccessfulBuild/artifact/apks/ <br> <b>Log: </b> The log file is attached into this e-mail. <br> <b>Log URL: </b> ${BUILD_URL}${JOB_NAME}/lastBuild/console <br> <b>Changes: </b> ${CHANGES, format="List of changes: <li><ul> %m </ul><ul> %d </ul> <ul> %r </ul></li> <br>"} <br></p><p> Thank you & Regards. </p></html>

Este modelo é genérico para qualquer projeto Como usa as seguintes variáveis:

  • $ {job_name}. Nome do trabalho em Jenkins.
  • $ {build_url}. URL de trabalho exato.
  • $ build_number}. Número de construção executado.
  • $ build_status}. Estado em que a construção terminou.
  • $ $. Tipo selecionado ao executar a compilação.
  • $ sabor. Sabor selecionado ao executar a construção.
  • $ ramo. Filial selecionada ao executar a compilação, se ninguém tiver sido escolhida, o nome de ramificação padrão aparecerá.
  • $ alterações}. Exibe as alterações feitas no commit que ativou a compilação.
    • % a: comitê.
    • % m: mensagem do commit.
    • % d: data do commit.
    • % r: número de confirmação.

Isso resultará em um email como o mostrado abaixo. Deixe-nos obter o .apk gerado facilmente.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *