Tôi muốn cài đặt apache maven bằng cách sử dụng công thức con rối, nhưng tôi không thể tìm thấy bất cứ nơi nào một ví dụ về cách làm điều này. Có ai có thể giúp cho việc này không? Maven Apache được đóng gói dưới dạng tệp tar.gz. Tôi đang sử dụng một thiết lập độc lập cho con rối.công thức con rối cài đặt tarball
9
A
Trả lời
11
tôi sử dụng đoạn mã này từ 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"],
}
}
}
ví dụ sử dụng:
#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
Có một mô-đun Múa rối mà làm công việc này cho bạn: dsestero/download_uncompress
Ví dụ:
$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',
}
Các vấn đề liên quan
- 1. cài đặt gói tarball nguồn Python với pip
- 2. Đặt biến môi trường với con rối
- 3. thừa kế con rối VS thành phần con rối
- 4. Làm cách nào để thay đổi phiên bản con rối được cài đặt bằng âm đạo
- 5. Làm cách nào để cài đặt gói R từ nguồn tarball trên cửa sổ?
- 6. Đặt lại Công thức Homebrew
- 7. Tải xuống mô-đun con git cho tarball
- 8. Bối rối về cách cài đặt các plugin Rails
- 9. Gặp rắc rối khi cài đặt psycopg2 trên CentOS
- 10. Rắc rối cài đặt gitlab-5.0 - cào hủy bỏ
- 11. rắc rối với việc cài đặt RVM trong ubuntu
- 12. gặp rắc rối khi cài đặt ruby 1.9.3-p194
- 13. Rắc rối Cài đặt Pygame trên Mac OSX
- 14. Bối rối về cài đặt package_dir và gói trong setup.py
- 15. Rối rối: Chỉ định phiên bản của một gói để cài đặt
- 16. Untar multipart tarball trên Windows
- 17. Luồng thực hiện con rối
- 18. Làm thế nào để sao chép từ một repo github và sau đó chạy NPM cài đặt trên con rối
- 19. Rối 2.7: Gọi con rối áp dụng init.pp không làm gì cả - tại sao?
- 20. con rối làm thế nào để làm cho con rối để chờ đợi một vài giây
- 21. Cài đặt PECL không thành công
- 22. Cài đặt Xamarin Android không thành công
- 23. Cài đặt công bằng trong lớp semaphore
- 24. Rắc rối với con trỏ C
- 25. Con rối - Gắn kết với Bind
- 26. Cài đặt Xcode 4.2 cho Snow Leopard không thành công
- 27. Chạy "gói cài đặt" không thành công và yêu cầu tôi chạy "gói cài đặt"
- 28. Trình cài đặt MSI không thành công mà không xóa cài đặt trước
- 29. "gói cài đặt" không thành công trong khi cài đặt rspec
- 30. Đặt Biến môi trường với Rối
Ví dụ này phá vỡ "urlfilename" cho tôi. – Jared
Tôi đã có thể làm cho nó hoạt động bằng cách chỉ cần thực hiện "cài đặt mô-đun con rối example42-puppi" và chỉ sử dụng ví dụ thứ hai là "puppi :: netinstall" – Jared