Я хотел бы установить apache maven с помощью кукольного рецепта, но я не могу найти нигде пример о том, как это сделать. Может кто-нибудь помочь с этим? Apache maven упакован как tar.gz-файл. Я использую автономную установку для марионетки.кукольный рецепт установки tarball
9
A
ответ
11
Я использую этот фрагмент из 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"],
}
}
}
Пример использования:
#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
Существует модуль кукол, который делает эту работу за вас: dsestero/download_uncompress
Пример:
$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',
}
Смежные вопросы
- 1. кукольный мастер свежая ошибка установки
- 2. Кукольный код для загрузки выдержки и установки
- 3. Простой рецепт NSIS для базовой установки
- 4. Рецепт Bitbake для установки до и после установки
- 5. Ansible: установить tarball через HTTP
- 6. Насколько безопасен бродяга/кукольный/кукольный?
- 7. Где я могу разместить tarball?
- 8. Использование zc.buildout, как установить tarball с веб-сайта?
- 9. Untar multipart tarball на Windows
- 10. Почему tarball называется tarball, а не только tar?
- 11. Как использовать кукольный модуль APT для установки сервера лаков
- 12. Кукольный агент не подключается к мастеру после установки приборной панели
- 13. Как добавить вариант установки для упаковки в кукольный явить
- 14. Распакуйте tarball в Go
- 15. Corrupt mysqldump tarball
- 16. PaxHeaders in tarball
- 17. Создание tarball модулей Linux?
- 18. Кукольный ошибка
- 19. Провайдерский рецепт
- 20. tarfile: определить сжатие открытого tarball
- 21. Как загрузить tarball в свинью
- 22. Загрузить git subodules для tarball
- 23. Как построить хром с tarball
- 24. Как найти последовательный хэш tarball
- 25. Найти большой файл внутри tarball
- 26. Как сжать tarball с gzip?
- 27. Создание tarball с использованием Jenkins
- 28. Что такое команда «Запустить рецепт»?
- 29. Кукольный - Зависимости не работают
- 30. Рецепт обновления для Windows Update
Этот пример разбивается на "urlfilename" для меня. – Jared
Мне удалось заставить его работать, просто выполняя «пример кукольного модуля install42-puppi» и просто используя второй пример как «puppi :: netinstall», – Jared