Ambiente de desenvolvimento Pentaho

Servidor dedicado ao publicação de componentes BI.

Acesso via endereço https://relatorios.tce.go.gov.br.

Servidor dedicado ao desenvolvimento de componentes BI. Acesso via endereço https://devbi.tce.go.gov.br.

Servidor dedicado à integração e execução de cargas ETL de modo automatizado.

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 Subversion Edge SVN Server .

Foi utilizado o software livre Jenkins. Para informações sobre a instalação e configuração, veja artigo Ambiente de Integração com 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.

  • 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.

  • 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.

  • 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.

  • Na aba Build:
    • Criar um Build Step do tipo Execute shell com o seguinte conteúdo:
    •  
      #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 

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.

#!/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


  • pres/gerti/infraestrutura_de_ti/pentaho/ambientepentaho.txt
  • Última modificação: 29/06/2017 20:36
  • por mbjesus