Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
wiki:documentation:jenkins [2015/07/08 15:55] gribeiro [Instalação e Configuração de Instâncias Slaves] |
wiki:documentation:jenkins [2015/07/08 17:50] gribeiro [Instalação e Configuração de Instâncias Slaves] |
||
---|---|---|---|
Line 83: | Line 83: | ||
</code> | </code> | ||
- | Você precisará desabilitar a verificação via SSL no git para o usuário que se conectará à instancia //slave// via SSH. Você pode fazer isso da seguinte forma, aplicando para todos os usuários: | + | Além das bibliotecas acima, você precisará instalar a QWT e a QtPropertyBrowser, conforme explicado na seção de build da TerraLib. |
+ | |||
+ | Outra medida importante é desabilitar a verificação via SSL no git para o usuário que se conectará à instancia //slave// via SSH. Você pode fazer isso da seguinte forma, aplicando para todos os usuários: | ||
<code bash> | <code bash> | ||
$ sudo git config --system http.sslverify false | $ sudo git config --system http.sslverify false | ||
Line 101: | Line 103: | ||
Na interface gráfica da instância mestre em seu navegador, siga os seguintes passos para configurar a instância //slave//, associando-a a esta instância //master//: | Na interface gráfica da instância mestre em seu navegador, siga os seguintes passos para configurar a instância //slave//, associando-a a esta instância //master//: | ||
- | * No lado esquerdo do painel, clique em //Estado do executor de builds// (//Build Executor Status//); | + | * No lado esquerdo do painel, clique em //**Estado do executor de builds**// (//Build Executor Status//). |
- | * Em seguida, clique em //Novo Nó// (//New Node//); | + | * Em seguida, clique em //**Novo Nó**// (//New Node//). |
- | * Forneça um nome ao //slave//, por exemplo: tview-linux-ubuntu-14.04; | + | * Forneça um //**nome**// ao //slave//, por exemplo: tview-linux-ubuntu-14.04. |
- | * Selecione a opção //Slave Burro// (//Dumb Slave//); | + | * Selecione a opção //**Slave Burro**// (//Dumb Slave//). |
- | * Clique em //Ok//; | + | * Clique em //**Ok**//. |
- | * Na opção //Descrição// (//Description//) forneça uma breve descrição da instância, por exemplo: "Build do TerraView no Linux Ubuntu 14.04" | + | * Na opção //**Descrição**// (//Description//) forneça uma breve descrição da instância, por exemplo: "Build do TerraView no Linux Ubuntu 14.04". |
- | * Na opção //Número de Executores// (//# of executor//), ajuste o número de processadores desejados, isto é, o número de //builds// concorrentes para esta instância. | + | * Na opção //**Número de Executores**// (//# of executor//), ajuste o número de processadores desejados, isto é, o número de //builds// concorrentes para esta instância. |
- | * Em //Diretório root remoto// (//Remote root directory//), preencha com um caminho que será acessível ao usuário configurado mais abaixo, por exemplo ''/home/jenkins/jenkins-data''. Isto fará com que os arquivos de configuração e do //workspace// sejam armazenados nesta pasta e mantidos em caso de reinicialização; | + | * Em //**Diretório root remoto**// (//Remote root directory//), preencha com um caminho que será acessível ao usuário configurado mais abaixo, por exemplo ''/home/jenkins/jenkins-data''. Isto fará com que os arquivos de configuração e do //workspace// sejam armazenados nesta pasta e mantidos em caso de reinicialização. |
- | * Agrupe //slaves// utilizando o mesmo //Rótulo//, por exemplo: TerraView; | + | * Agrupe //slaves// utilizando o mesmo //**Rótulo**//, por exemplo: TerraView. |
- | * Na opção //Uso// (//Usage//) selecione //Utilize este slave, tanto quanto possível// (//Utilize this node as much as possible//); | + | * Na opção //**Uso**// (//Usage//) selecione //**Utilize este slave, tanto quanto possível**// (//Utilize this node as much as possible//). |
- | * Na opção //Método de lançamento// (//Launch Method//) selecione //Launch salve agents on Unix machines via SSH//; | + | * Na opção //**Método de lançamento**// (//Launch Method//) selecione //**Launch salve agents on Unix machines via SSH**//. |
- | * Na opção //Host// insira o endereço IP do //slave//; | + | * Na opção //**Host**// insira o endereço IP do //slave//. |
- | * Em //Credentials//, clique no botão //Add//; | + | * Em //**Credentials**//, clique no botão //**Add**//. |
- | * Na opção //Kind// selecione //Username and password//; | + | * Na opção //**Kind**// selecione //**Username and password**//. |
- | * Na opção //Scope// selecione //Global//; | + | * Na opção //**Scope**// selecione //**Global**//. |
- | * Preencha //username// e //passwaord// com seus dados para conectar no repositório | + | * Preencha //**username**// e //**password**// com seus dados para conectar via SSH no slave. |
- | * Na opção //Disponibilidade// selecione //Manter este salve ligado quanto for possível//; | + | * Na opção //**Disponibilidade**// selecione //**Manter este //slave// ligado quanto for possível**//. |
- | * Clique em //Salvar//. | + | * Clique em //**Salvar**//. |
- | **Observação:** Se você não deseja que a instância mestre execute //jobs//, deverá editar as configurações do //master// e ajustar o número de executores para zero. | + | **Observação:** Se você não deseja que a instância //master// execute //jobs//, deverá editar as configurações do //master// e ajustar o número de executores para zero. |
===== Instalação e Configuração do Jenkins em Máquinas Windows ===== | ===== Instalação e Configuração do Jenkins em Máquinas Windows ===== | ||
==== Instalação e Configuração de Instâncias Slaves ==== | ==== Instalação e Configuração de Instâncias Slaves ==== | ||
+ | ==== Associando a Instância Slave à Master ==== | ||
===== Backup com Jenkins Master ===== | ===== Backup com Jenkins Master ===== | ||
Line 145: | Line 147: | ||
* Selecione //**Git**// no tópico //**Gerenciamento de código fonte**//. | * Selecione //**Git**// no tópico //**Gerenciamento de código fonte**//. | ||
* Em //**Repository URL**// aponte para: [[https://git.dpi.inpe.br/terralib5]]. | * Em //**Repository URL**// aponte para: [[https://git.dpi.inpe.br/terralib5]]. | ||
+ | * Em //**Credentials**//, clique no botão //**Add**//. | ||
+ | * Na opção //**Kind**// selecione //**Username and password**//. | ||
+ | * Na opção //**Scope**// selecione //**Global**//. | ||
+ | * Preencha username e password com seus dados de acesso ao repositório Git da TerraLib e TerraView. | ||
* Em //**Branches to build**// aponte para o branch correto, como por exemplo: ''*/develop''. | * Em //**Branches to build**// aponte para o branch correto, como por exemplo: ''*/develop''. | ||
* Na opção //**Trigger de Builds**// (//**Build Triggers**//), escolha a opção //**Build Periodically**// e ajuste uma escala de tempo adequada, por exemplo, consultar o servidor por mudanças a cada 15 minutos: ''H/15 * * * *''. | * Na opção //**Trigger de Builds**// (//**Build Triggers**//), escolha a opção //**Build Periodically**// e ajuste uma escala de tempo adequada, por exemplo, consultar o servidor por mudanças a cada 15 minutos: ''H/15 * * * *''. | ||
+ | * 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: //tview-linux-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//): | ||
+ | <code cmake> | ||
+ | -DCMAKE_INSTALL_PREFIX:PATH='/home/scidb/MyInstalls/terralib5' | ||
+ | -DCMAKE_PREFIX_PATH:PATH='/usr;/usr/local;/usr/local/qwt-6.1.2' | ||
+ | -DTERRALIB_BUILD_EXAMPLES_ENABLED:BOOL=OFF | ||
+ | -DTERRALIB_BUILD_UNITTEST_ENABLED:BOOL=OFF | ||
+ | -DTERRALIB_DOXYGEN_ENABLED:BOOL=OFF | ||
+ | -DTERRALIB_QHELP_ENABLED:BOOL=OFF | ||
+ | -DTERRALIB_QTRANSLATION_ENABLED:BOOL=OFF | ||
+ | -DGEOS_INCLUDE_DIR:PATH='/usr/include/geos' | ||
+ | -DGNUGETTEXT_INCLUDE_DIR:PATH='/usr/include' | ||
+ | -DGNUGETTEXT_LIBRARY:FILEPATH='/usr/lib/x86_64-linux-gnu/libgettextpo.so' | ||
+ | -DGNUICONV_LIBRARY:FILEPATH='/usr/lib/x86_64-linux-gnu/libc.so' | ||
+ | </code> | ||
+ | * Adicione dois //**Build Tool Invocations**//, uma para o //make// e outra para o //make install// (neste último caso basta colocar o argumento install). | ||
+ | ==== Definição de um Job a ser Executado no Slave Windows ==== |