Tôi là người mới bắt đầu với Puppet và tôi muốn biết liệu tôi có đang đúng cách để triển khai các ứng dụng với Puppet không.
Các applciations nằm trong tệp tar.gz chứa tệp có số phiên bản. Vì vậy, tôi làm điều này để triển khai (tôi vào máy chủ và thực hiện khởi động lại máy khách để nhận tarball mới):
nodes.pp
node 'server1.domain.com' inherits basenode {
apps { apps:
version => 56,
apps_name => "apps_tarball.tgz",
}
init.pp (modules)
exec {"apps_wget":
command => "/usr/bin/wget http://web_server/${version}-${apps_name} -O /tmp/${container_zip_name}",
unless => "test -f /tmp/${version}-${apps_name}",
require => [ Package["wget"] ],
}
exec {"apps_unzip":
cwd => "/usr/local/apps/path",
command => "/usr/bin/unzip /tmp/${version}-${apps_name}",
unless => "test -f /usr/local/apps/path/apps-version-${version}",
require => [ Package["unzip"], Exec["container_wget"] ],
}
Nhưng, khi tôi muốn nâng cấp, tôi không biết nói Puppet để xóa thư mục cũ? Ví dụ: Nếu tôi muốn nâng cấp phiên bản 56 lên 57: Tôi phải xóa thư mục phiên bản 56.
Tôi đã nghe nói về Capristrano và có vẻ tốt hơn khi sử dụng Puppet cho các gói Manageinig, tệp cấu hình và sử dụng Capristrano để triển khai ứng dụng, phải không?
Cảm ơn.