Instalando o TomEE do Puppet

O Apache TomEE é uma pilha totalmente Apache voltada para a certificação do Java EE 6 Web Profile, onde o Tomcat é líder. É a conjunção de Tomcat + Java EE. Apache TomEE

O Puppet é uma ferramenta projetada para gerenciar a configuração de nossos sistemas de forma declarativa. Precisamos apenas descrever os recursos do sistema e seu estado. Esta descrição é armazenada nos arquivos principais do Puppet, que são chamados de manifestos do Puppet. Fantoche

Vamos ver como usar o Puppet para instalar o TomEE .

# update the (outdated) package list
exec { "update-package-list":
command
=> "/usr/bin/sudo /usr/bin/apt-get update",
}

class java_6 {

package { "openjdk-6-jdk":
ensure => installed,
require => Exec["update-package-list"],
}

}

class tomee {


file
{"/opt/tomee-1.5.1":
ensure => directory,
recurse
=> true,
} ->

exec { "download-tomee" :
command
=> "/usr/bin/wget http://apache.rediris.es/openejb/openejb-4.5.1/apache-tomee-1.5.1-webprofile.tar.gz -O /tmp/tomee-1.5.1.tar.gz",
creates
=> "/tmp/tomee-1.5.1.tar.gz",
} ->

exec { "unpack-tomee" :
command
=> "/bin/tar -xzf /tmp/tomee-1.5.1.tar.gz -C /opt/tomee-1.5.1 --strip-components=1",
creates
=> "/opt/tomee-1.5.1/bin",
}

service
{ "tomee" :
provider
=> "init",
ensure => running,
start
=> "/opt/tomee-1.5.1/bin/startup.sh",
stop
=> "/opt/tomee-1.5.1/bin/shutdown.sh",
status
=> "",
restart
=> "",
hasstatus
=> false,
hasrestart
=> false,
require => Exec["unpack-tomee"],
}

}

include java_6

include tomee

Você pode baixar o script aqui .

Esse manifesto garantirá que você tenha um OpenJDK instalado em seu sistema, baixe o TomEE de seu site, instale-o em /opt/tomee-1.5.1 e, finalmente, inicie-o cada vez que iniciar seu sistema.

Alguns pontos finais:

  • No Puppet , cria atributo dentro da tarefa exec, é usado para saber se o recurso deve ser executado ou não (caso o arquivo exista, exec não será executado). No nosso caso, estamos baixando o TomEE no diretório tmp. A maioria do SO remove periodicamente esse diretório, por isso é um local incorreto para baixá-lo, mas para este tutorial ele funciona perfeitamente porque eu poderia reexecutar o script toda vez como uma nova execução.

  • Para simplificar, adicionamos todo o conteúdo dentro de um único arquivo. Na sua empresa, sugiro a criação de um módulo TomEE para que você possa compartilhar em todos os seus projetos.

  • A versão do TomEE deve ser definida como uma variável / parâmetro / hiera para que a mesma classe possa ser reutilizada quando uma nova versão do TomEE for lançada.

Nota: que este post assume que você já instalou o Puppet . Este script foi testado em um Ubuntu 12.04.

Continuamos aprendendo,
Alex.