Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Próxima revisão
Revisão anterior
pres:gerti:infraestrutura_de_ti:pentaho:ambientepentaho [20/03/2017 21:50] – criada mbjesuspres:gerti:infraestrutura_de_ti:pentaho:ambientepentaho [29/06/2017 20:36] (atual) – [Ambiente de Integração] mbjesus
Linha 1: Linha 1:
-====== Ambiente Pentaho ======+====== Ambiente de desenvolvimento Pentaho ======
  
 +===== Visão Geral =====
  
-{{:pres:gerti:infraestrutura_de_ti:pentaho:arquiteturapentaho.png?900|}}====== Ambiente Pentaho ======+{{ :pres:gerti:infraestrutura_de_ti:pentaho:arquiteturapentaho.png?800 |}}
  
  
  
 +===== Servidor de Produção =====
 +
 +Servidor dedicado ao publicação de componentes BI.
 +
 +Acesso via endereço https://relatorios.tce.go.gov.br.
 +
 +
 +
 +===== Servidor de Desenvolvimento =====
 +
 +Servidor dedicado ao desenvolvimento de componentes BI.
 +Acesso via endereço https://devbi.tce.go.gov.br.
 +
 +===== Servidor de Integração =====
 +
 +Servidor dedicado à integração e execução de cargas ETL de modo automatizado.
 +
 +
 +==== Gerenciamento das versões das cargas ====
 +
 +Foi utilizado o software livre Colabnet CSVN, uma interface web para gestão de repositórios Subversion.
 +
 +Detalhes da configuração do CSVN estão descritos em [[:pres:gerti:infraestrutura_de_ti:pentaho:Subversion Edge SVN Server |]] .
 +
 +==== Ambiente de Integração ====
 +
 +Foi utilizado o software livre Jenkins. Para informações sobre a instalação e configuração, veja artigo [[pres:gerti:infraestrutura_de_ti:jenkins:instalacao_jenkins]].
 +
 +=== Criando Projeto ===
 +
 +Como exemplo, vamos criar o projeto de construção //RelatorioGeral_PROD.//.
 +
 +
 +  * Na aba //General//:
 +    * Preencher o campo //Project name//. Esse nome deve ser único no sistema, pois será criado um diretório no workspace do Jenkins com esse nome.
 +    * Para limpar periodicamente o workspace, marcar a opção //Discard old builds//. Em //Strategy// marcar a opção //Log Rotation//. Em //Max # of builds to keep// informar o número máximo de builds que serão mantidos.
 +
 +{{:pres:gerti:infraestrutura_de_ti:jenkins_01.png?800|}}
 +
 +  * Na aba //Source Code Management//:
 +    * Informar os dados do repositório SVN onde estão guardados os arquivos das cargas. Em //Repository URL// colocar exatamente o endereço o repositório. 
 +    * Em //Credentials// informar um usuário com acesso ao repositório. O Jenkins permite cadastrar diversas credenciais.
 +    * Em //Check-out Strategy// marcar a opção //Emulate clean checkout by first deleting unversioned/ignored files, then 'svn update'// para baixar apenas arquivos necessários.
 +
 +{{:pres:gerti:infraestrutura_de_ti:jenkins_source_code_management.png?800|}}
 +
 +
 +  * Na aba //Build Triggers//: 
 +    * marcar a opção //Build periodically// e informar //Schedule// quando a construção será realizada. Essa escrita segue o padrão do CRON do Linux.
 +
 +{{:pres:gerti:infraestrutura_de_ti:jenkins_buildtriggers.png?800|}}
 +
 +  * Na aba //Build Environment//:
 +   * Marcar a opção //Delete workspace before build starts// para limpar o worspace do Jenkins antes de fazer um novo build.
 +
 +{{:pres:gerti:infraestrutura_de_ti:jenkins_buildenvironment.png?800|}}
 +
 +  * Na aba //Build//:
 +    * Criar um //Build Step// do tipo //Execute shell// com o seguinte conteúdo:
 +    * <code> 
 +#Nome do repositorio PDI
 +export REPOSITORIO=RelatorioGeral
 +
 +#Nome do arquivo principal do Job, sem extensao
 +export JOB=Job_Carga_DW
 +
 +#Path do repositorio. Normalmente o proprio Worspace da Build no Jenkins
 +export PATHREPOSITORIO=$WORKSPACE
 +
 +#Executar scripts internos da transformacao
 +bash /pentaho/scripts/executarjob.sh </code>
 +   
 +
 +{{:pres:gerti:infraestrutura_de_ti:jenkins_build.png?800|}}
 +
 +
 +=== Script de execução do Projeto PDI ===
 +
 +Esse script fica salvo em **/pentaho/scripts/executarjob.sh**. Necessário dar permissão de execução para o usuário //jenkins//.
 +
 +<code>
 +#!/bin/bash
 +
 +##########################################################################################################################
 +## @Nome: executarjob.sh                                                                                                ##
 +## @Autor: Mauricio Barros                                                                                              ##
 +## @Data: Jan/2017                                                                                                 ##
 +## @Objetivo: a partir de uma chamada jenkins, criar arquivo de execução de job do PDI                                  ##
 +## @Variaveis:  1. $REPOSITORIO: nome do repositorio PDI; 2. $PATHREPOSITORIO: Path do repositorio na maquina local     ##
 +## @Algoritmo: 1. Criar arquivo xml "~/.kettle/repositories.xml" com configuracao do repositorio.                       ##
 +## 2. Criar arquivo executavel "~/.kettle/executar.sh" contendo a chamada para o programa PDI Kitchen                   ##
 +## 3. Executar arquivo "~/.kettle/executar.sh"                                                                          ##
 +##########################################################################################################################
 +
 +echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
 +<repositories>
 +  <repository><id>KettleFileRepository</id>
 +    <name>$REPOSITORIO</name>
 +    <description>$REPOSITORIO</description>
 +    <base_directory>$PATHREPOSITORIO</base_directory>
 +    <read_only>N</read_only>
 +    <hides_hidden_files>N</hides_hidden_files>
 +  </repository>
 +</repositories>" > ~/.kettle/repositories.xml
 +
 +echo "/opt/pdi/pdi-7/kitchen.sh -rep:$REPOSITORIO -job:$JOB -file:$PATHREPOSITORIO$JOB.kjb" > ~/.kettle/executar.sh
 +
 +bash ~/.kettle/executar.sh
 +
 +
 +
 +</code>
  • pres/gerti/infraestrutura_de_ti/pentaho/ambientepentaho.1490046613.txt.gz
  • Última modificação: 20/03/2017 21:50
  • por mbjesus