wiki:programmersguide/jenkins/jobs

Version 7 (modified by raphael.costa, 9 years ago) (diff)

--

Jenkins: Continuous Integration

Jobs

Linux Ubuntu 14.04

MacOS El Captain

Windows 10

TODO

Daily Builds

Package Generator Ubuntu

  • Clique em Novo Job (New Item).
  • Preencha o campo Nome do Job (Item Name). Exemplo: terrama2-build-master.
  • Selecione a opção Free-style project.
  • Clique em OK.
  • Informe uma Descrição (Description) para o projeto de build: Build TerraMA².
  • Selecione Git no tópico Gerenciamento de código fonte.
    • Em Repository URL aponte para: https://github.com/TerraMA2/terrama2.git;
    • Em Advanced, adicione Name coloque origin;
    • Em Refspec, coloque +refs/pull/*:refs/remotes/origin/pr/*. Esse mecanismo permite que o Jenkins faça o fetch das mudanças e consiga apontar para o servidor remoto pegando todos os pull requests disponíveis e partir do commit recebido aplicar, o processo de build.
  • Em Branches to build aponte para o branch correto, como por exemplo: ${sha1}. Como agora o jenkins trabalhará com pull requests, essa variavel (fornecida pelo plugin ghprb) guarda o commit recebido pelo servidor.
  • Na opção Trigger de Builds (Build Triggers), escolha a opção GitHub? Pull Request Builder, marque Use github hooks for build triggering e em seguida selecione Advanced;
  • Marque a Build every pull request automatically without asking e em Trigger Setup, adicione Commit Status Context como build. Isso é o nome do status que será apresentado na interface do GitHub?.
  • Na opcao Build escolha Conditional steps (multiple)
  • Em Run escolha execution node
  • Em Execute on escolha o slave onde será executado o job, por exemplo: ubuntu-14.04
  • Em Steps to run if condition is met
  • Selecione CMake Build e informe o seguinte:
  • Buildscript Generator: Unix Makefiles.
  • Source Directory: build/cmake
  • Build Type: Release
  • Build Directory: solution
  • Em Advanced entre com os seguinte argumento para o CMake (other CMAKE arguments):
    -DCMAKE_INSTALL_PREFIX:PATH='$WORKSPACE/install/terrama2' 
    -DCMAKE_PREFIX_PATH:PATH='/opt/3rdparty;/opt/3rdparty/terralib5;/opt/3rdparty/terralib5/lib/cmake'
    
  • Adicione dois Build Tool Invocations, uma para o make e outra para o make install (neste último caso basta colocar o argumento install).

Testing Installer

The debian package generated by daily build is uploaded to a clean [docker container] with following packages:

  • TerraLib 5.2 (/opt/terralib/5.2.0);
  • NodeJS 4.5;
  • PostgreSQL 9.3 (user postgres configured with postgres password);
  • PostGIS 2.1;

See docker image in TerraMA² Docker Beta1

References