Я початківець з Puppet, і хотів би дізнатися, чи я на правильному шляху розгортання програм із Puppet.
Програми знаходяться у файлі tar.gz, який містить файл із номером версії. Отже, я роблю це для розгортання (переходжу на сервер і перезапускаю клієнт, щоб забрати новий тарбол):
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"] ],
}
Але, коли я хочу оновити, я не знаю сказати, що Лялька видаляє старий каталог? Наприклад, якщо я хочу оновити версію 56 до 57: я повинен видалити каталог версій 56.
Я чув про Capristrano і, здається, краще використовувати Puppet для манагінінг-пакетів, конфігураційних файлів та використання Capristrano для розгортання програм, чи не так?
Спасибі.