Changes between Version 12 and Version 13 of programmersguide/jenkins/jobs


Ignore:
Timestamp:
02/15/17 14:02:06 (9 years ago)
Author:
raphael.costa
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • programmersguide/jenkins/jobs

    v12 v13  
    1 = Jenkins: Continuous Integration = 
     1= Jenkins: Integração Continua = 
    22 
    33== Jobs == 
    44 
    5 === Linux Ubuntu 14.04 === 
     5=== Criando um slave Ubuntu === 
     6 
     7==== Criando um Job para Build da !TerraLib ==== 
     8 
     9Definição de um Job a ser Executado no Slave Linux 
     10Na interface gráfica principal do Jenkins, no navegador, acessível na instância mestre, siga as instruções abaixo: 
     11 
     12* Clique em '''Novo Job''' (''New Item''). 
     13* Preencha o campo '''Nome do Job''' (''Item Name''). Exemplo: terralib-build-linux-ubuntu-14.04. 
     14* Selecione a opção '''Free-style project'''. 
     15* Clique em '''OK'''. 
     16* Informe uma '''Descrição''' (''Description'') para o projeto de build: Build TerraLib and TerraView. Branches: release-5.0, develop 
     17* Selecione '''Descartar Builds Antigos''' (''Discard Old Builds''). 
     18* Ajuste o '''#Máximo de builds''' (''Max # of builds to keep''). Exemplo: 100. 
     19* Selecione '''Git''' no tópico Gerenciamento de código fonte. 
     20* Em '''Repository URL''' aponte para: https://gitlab.dpi.inpe.br/terralib/terralib. 
     21* Em '''Branches to build''' aponte para o branch correto, como por exemplo: */master. 
     22* Na opção '''Trigger de Builds''' (''Build Triggers''), escolha a opção '''Poll SCM''' e ajuste uma escala de tempo adequada, por exemplo, consultar o servidor por mudanças uma vez ao dia:  '''Schedule''' : H 8 * * 1-5. Essa estrutura representa que o job será disparado diariamente as 08:00 AM, de segunda a sexta. 
     23* Na opcao '''Build''' escolha Conditional steps (''multiple'') 
     24* Em '''Run''' escolha execution node 
     25* Em '''Execute''' on escolha o slave onde será executado o job, por exemplo: ''ubuntu-14.04'' 
     26* Em '''Steps to run if condition is met''' 
     27* Selecione '''CMake Build''' e informe o seguinte: 
     28* '''Buildscript Generator''': Unix Makefiles. 
     29* '''Source Directory''': build/cmake 
     30* '''Build Type''': Release 
     31* '''Build Directory''': solution 
     32* Em '''Advanced''' entre com os seguinte argumento para o '''CMake''' (other CMAKE arguments): 
     33{{{ 
     34-DCMAKE_BUILD_TYPE:STRING='Release' 
     35-DCMAKE_PREFIX_PATH:PATH="/home/jenkins/MyLibs;/home/jenkins/MyLibs/lib;/home/jenkins/MyLibs/gdal2;/home/jenkins/MyLibs/pgsql" 
     36-DTERRALIB_BUILD_EXAMPLES_ENABLED:BOOL=OFF 
     37-DTERRALIB_BUILD_UNITTEST_ENABLED:BOOL=OFF 
     38-DTERRALIB_DOXYGEN_ENABLED:BOOL=OFF 
     39-DTERRALIB_QHELP_ENABLED:BOOL=OFF 
     40-DTERRALIB_QTRANSLATION_ENABLED:BOOL=OFF 
     41-DTERRALIB_MOD_BINDING_JAVA_ENABLED:BOOL=OFF 
     42-DTERRALIB_MOD_BINDING_PYTHON_ENABLED:BOOL=OFF 
     43-DTERRALIB_MOD_BINDING_LUA_ENABLED:BOOL=OFF 
     44-DGEOS_INCLUDE_DIR:PATH="/home/jenkins/MyLibs/include/geos" 
     45-DGNUGETTEXT_INCLUDE_DIR:PATH="/usr/include" 
     46-DGNUGETTEXT_LIBRARY:FILEPATH='/usr/lib/x86_64-linux-gnu/libgettextpo.so' 
     47-DGNUICONV_LIBRARY:FILEPATH='/usr/lib/x86_64-linux-gnu/libc.so' 
     48-DCMAKE_INSTALL_PREFIX="/home/jenkins/Programs/terralib5" 
     49}}} 
     50* Adicione dois '''Build Tool Invocations''', uma para o '''make''' e outra para o '''make install''' (neste último caso basta colocar o argumento install). 
     51 
     52 
     53 
     54---- 
     55==== Criando um Job para Build do TerraMA2 ==== 
     56 
     57Definição de um Job a ser Executado no Slave Linux que será integrado com os Pull Request do !Github. Para isso, será necessário o plugin '''!GitHub Pull Request Builder''' 
     58Na interface gráfica principal do Jenkins, no navegador, acessível na instância mestre, siga as instruções abaixo: 
     59 
     60* Clique em '''Novo Job''' (''New Item''). 
     61* Preencha o campo '''Nome do Job''' (''Item Name''). Exemplo: terrama2-build-linux-ubuntu-14.04. 
     62* Selecione a opção '''Free-style project'''. 
     63* Clique em '''OK'''. 
     64* Informe uma '''Descrição''' (''Description'') para o projeto de build: Build TerraMA2 via Pull requests. 
     65* Selecione '''Descartar Builds Antigos''' (''Discard Old Builds''). 
     66* Ajuste o '''#Máximo de builds''' (''Max # of builds to keep''). Exemplo: 10. 
     67* Selecione '''Git''' no tópico Gerenciamento de código fonte. 
     68* Em '''Repository URL''' aponte para: https://github.com/TerraMA2/terrama2.git. 
     69* Em '''Advanced''', adicione '''Name''' coloque '''origin'''; 
     70* 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. 
     71* 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. 
     72* 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'''; 
     73* 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. 
     74* Na opcao '''Build''' escolha Conditional steps (''multiple'') 
     75* Em '''Run''' escolha execution node 
     76* Em '''Execute''' on escolha o slave onde será executado o job, por exemplo: ''ubuntu-14.04'' 
     77* Em '''Steps to run if condition is met''' 
     78* Selecione '''CMake Build''' e informe o seguinte: 
     79* '''Buildscript Generator''': Unix Makefiles. 
     80* '''Source Directory''': build/cmake 
     81* '''Build Type''': Release 
     82* '''Build Directory''': solution 
     83* Em '''Advanced''' entre com os seguinte argumento para o '''CMake''' (other CMAKE arguments): 
     84{{{ 
     85-DCMAKE_INSTALL_PREFIX:PATH='$WORKSPACE/install/terrama2'  
     86-DCMAKE_PREFIX_PATH:PATH='/opt/3rdparty;/opt/3rdparty/terralib5;/opt/3rdparty/terralib5/lib/cmake' 
     87}}} 
     88* Adicione dois '''Build Tool Invocations''', uma para o '''make''' e outra para o '''make install''' (neste último caso basta colocar o argumento install). 
    689 
    790 
     
    1295TODO 
    1396 
    14 == Daily Builds == 
     97== Builds Diários == 
    1598 
    16 === Package Generator Ubuntu === 
     99=== Gerador de instalador Linux Ubuntu 14.04 === 
    17100 
    18101* Clique em '''New Item'''; 
     
    42125  * Em '''Parameters''', selecione '''Predefined''' e deixe vazio. É importante caso contrario, o job não será disparado; 
    43126 
    44 ==== Testing Installer ==== 
     127==== Teste do instalador ==== 
    45128 
    46129The debian package generated by daily build is uploaded to a clean [docker container] with following packages: 
     
    53136 
    54137 
    55 = References = 
     138= Referências =