Me gustaría instalar apache maven mediante el uso de la receta de marionetas, pero no puedo encontrar en ningún lugar un ejemplo sobre cómo hacer esto. ¿Alguien puede ayudar con esto? Apache maven está empaquetado como archivo tar.gz. Estoy usando una configuración independiente para marionetas.receta de marionetas instalando tarball
9
A
Respuesta
11
Puedo usar este fragmento de example42:
define netinstall (
$url,
$extracted_dir,
$destination_dir,
$owner = "root",
$group = "root",
$work_dir = "/var/tmp",
$extract_command = "tar -zxvf",
$preextract_command = "",
$postextract_command = ""
) {
$source_filename = urlfilename($url)
if $preextract_command {
exec {
"PreExtract $source_filename":
command => $preextract_command,
before => Exec["Extract $source_filename"],
refreshonly => true,
}
}
exec {
"Retrieve $url":
cwd => "$work_dir",
command => "wget $url",
creates => "$work_dir/$source_filename",
timeout => 3600,
}
exec {
"Extract $source_filename":
command => "mkdir -p $destination_dir && cd $destination_dir && $extract_command $work_dir/$source_filename",
unless => "find $destination_dir | grep $extracted_dir",
creates => "${destination_dir}/${extracted_dir}",
require => Exec["Retrieve $url"],
}
if $postextract_command {
exec {
"PostExtract $source_filename":
command => $postextract_command,
cwd => "$destination_dir/$extracted_dir",
subscribe => Exec["Extract $source_filename"],
refreshonly => true,
timeout => 3600,
require => Exec["Retrieve $url"],
}
}
}
ejemplo de uso:
#Install prerequisites
exec { "VPSMonPrerequisites":
command => "yum install -y ${vpsmonitor::params::prerequisites}",
unless => "rpm -qi ${vpsmonitor::params::prerequisites}",
timeout => 3600,
}
#Install tgz from source url
netinstall { vpsmonitor:
url => "${vpsmonitor::params::source_url}",
extracted_dir => "${vpsmonitor::params::extracted_dir}",
destination_dir => "${vpsmonitor::params::destination_dir}",
postextract_command => "chown -R user. ${vpsmonitor::params::destination_dir}/${vpsmonitor::params::extracted_dir}",
require => [ Exec["VPSMonPrerequisites"], User["user"] ],
}
0
hay un módulo de marionetas que hace este trabajo para usted: dsestero/download_uncompress
Ejemplo:
$phpstorm_version = '2017.2.1'
download_uncompress { 'PhpStorm':
download_base_url => 'https://download.jetbrains.com/webide',
distribution_name => "PhpStorm-${phpstorm_version}.tar.gz",
dest_folder => '/opt',
creates => "/opt/phpstorm-${phpstorm_version}",
uncompress => 'tar.gz',
}
Cuestiones relacionadas
- 1. instalando un archivo tarball de paquete de Python con pip
- 2. Flujo de ejecución de marionetas
- 3. Untar multipart tarball en Windows
- 4. Instalando jQuery?
- 5. consultas paginadas/receta del iterador
- 6. cómo cargar un tarball al cerdo
- 7. ¿Se debería incluir autogen.sh en un tarball?
- 8. instalando wxPerl en fresa
- 9. instalando dependencias en haskell
- 10. Instalando NERDTree en Windows
- 11. WIX instalando archivos, sobrescribe
- 12. Instalando rmagick en Ubuntu
- 13. instalando zeromq bajo pypy
- 14. instalando gtk y glib
- 15. Agente de marionetas no puede encontrar el servidor
- 16. ¿Receta para compilar binutils y gcc juntos?
- 17. ¿Cómo descargo un tarball de GitHub usando cURL?
- 18. Heroku no actualiza node.js> package.json Dependencias de Github tarball
- 19. Instalando Java manualmente en Windows?
- 20. instalando OpenSSL desde la fuente
- 21. Instalando node.js en Debian 6.0
- 22. Instalando h5py en OS X
- 23. Instalando TortoiseSVN y TortoiseGit juntos
- 24. iOS instalando aplicaciones sin tienda de aplicaciones
- 25. instalando paquetes de python en android
- 26. instalando simplejson en la appengine de google
- 27. No se puede asignar la variable dentro de la receta
- 28. ¿Dónde colocar "antes" y "después" en una receta de Capistrano?
- 29. ¿Receta para crear archivos Windows ICO con ImageMagick?
- 30. Instalando/desinstalando mi módulo con pip
Este ejemplo se rompe en "urlfilename" para mí. – Jared
Pude hacerlo funcionar simplemente haciendo "puppet module install example42-puppi" y simplemente usando el segundo ejemplo como "puppi :: netinstall" – Jared