| Version 26 (modified by raphael.costa, 10 years ago) (diff) |
|---|
TerraMA² - Jenkins Configuration
Autor: Paulo R. M. Oliveira, Flaverton Rosa, Gilberto Ribeiro de Queiroz
Data: 06/10/2015
Resumo: Este documento apresenta como configurar o Jenkins para executar tarefas de build da TerraLib/TerraView e do TerraMA².
Integração Continua
"Integração Contínua é uma pratica de desenvolvimento de software onde os membros de um time integram seu trabalho com certa frequência, podendo ocorrer diariamente ou até mesmo várias vezes ao dia. Cada integração é verificada por um build automatizado (incluindo testes) para detectar erros de integração o mais rápido possível. Muitos times acham que essa abordagem leva a uma significante redução dos problemas de integração e permite que um time desenvolva software coeso mais rapidamente.” Martin Fowler
Quais os benefícios de fazer integração continua?
Basicamente, a grande vantagem da integração contínua está no feedback instantâneo. Isso funciona da seguinte forma: a cada commit no repositório, o build é feito automaticamente, com todos os testes sendo executados de forma automática e falhas sendo detectadas. Se algum commit causar uma erro compilação ou quebrar qualquer um dos testes, a equipe toma conhecimento instantaneamente (ex: através de e-mail). A equipe pode então corrigir o problema o mais rápido possível, o que é fundamental para não introduzir erros ao criar novas funcionalidades, refatorar, etc.
Integração contínua é mais uma forma de trazer segurança em relação a mudanças: você pode fazer modificações sem medo, pois será avisado caso algo saia do esperado.
O que é o Jenkins
O Jenkins é uma ferramenta de integração contínua, que fornece um ambiente de execução de jobs pré-definidos com o objetivo de simplificar e automatizar o workflow de desenvolvimento de sistemas.
O Jenkins pode ser utilizado para:
- Análise de Código;
- Realização do processo de build do código de um sistema;
- Execução dos testes;
- Geração de instaladores e pacotes;
- Deploy.
Instalacão do Jenkins no Linux Ubuntu 14.04
Instalação e Configuração da Instância Master
Baixar a chave do repositório Jenkins:
$ wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
Adicionar ao arquivo /etc/apt/sources.list a URL do repositório:
$ echo "deb http://pkg.jenkins-ci.org/debian binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list
Fazer a instalação do pacote Jenkins:
$ sudo apt-get update && sudo apt-get install jenkins
Agora, o Jenkins já deverá estar funcional e disponível para acesso no navegador. Basta digitar o seguinte endereço no seu navegador:
http://localhost:8080
Se tudo estiver funcionando corretamente, instale os seguintes plugins:
- Git Plugin: (id: git).
- CMake Builder Plugin: (id: cmake).
- MSBuild Plugin: para o build em ambientes Microsoft Windows com Visual C++ (id: msbuild).
- Condicional BuildStep Plugin: para execução de jobs em mais de um tipo de sistema operacional (id: conditional-step).
- GitHub pull request builder plugin: para disparar a compilação para um pull request do GitHub (id: ghprb).
Para instalar um plugin siga os seguintes passos na interface gráfica principal do Jenkins no seu navegador:
- Escolha a opção Gerenciar Jenkins (ou Manage Jenkins);
- Entre na opção Gerenciar Plugins (ou Manage Plugins);
- Selecione a aba Disponíveis (ou Available);
- Selecione os plugins listados acima. Para facilitar a busca, utilize a opção de filtro (filter) para localizar esses plugins;
- Finalmente, escolha a opção Baixar, Instalar e Reiniciar.
Instalação e Configuração de Instâncias Slaves
Para configurar uma máquina (virtual ou física) como slave, você deverá instalar as ferramentas necessárias para a compilação do TerraMA2. Preparamos um bash script para a compilação e instalação das dependências no Linux Ubunutu 14.04. Este script pode ser encontrado no código fonte do TerraMA² na pasta install.
Siga os seguintes passos:
- Baixe o pacote de dependências utilizado pela equipe de desenvolvimento: terrama2-3rdparty-linux-ubuntu-14.04.tar.gz .
- Copie o script install-3rdparty-linux-ubuntu-14.04.sh da pasta install para a mesma pasta que você baixou o pacote do passo anterior.
- Abra a linha de comando e execute o script install-3rdparty-linux-ubuntu-14.04.sh especificando a pasta para instalar as dependências.
$ TERRAMA2_DEPENDENCIES_DIR="/opt/3rdparty" ./install-3rdparty-linux-ubuntu-14.04.sh
