Ich bin ein Anfänger mit Puppet und würde gerne wissen, ob ich auf dem richtigen Weg bin, Anwendungen mit Puppet bereitzustellen.
Die Anwendungen befinden sich in einer tar.gz-Datei, die eine Datei mit der Versionsnummer enthält. Also mache ich dies, um es bereitzustellen (ich gehe auf den Server und starte einen Client neu, um den neuen Tarball aufzunehmen):
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"] ],
}
Aber wenn ich ein Upgrade durchführen möchte, kann ich nicht Puppet sagen, um das alte Verzeichnis zu löschen? Beispiel: Wenn ich Version 56 auf 57 aktualisieren möchte: Ich muss das Versionsverzeichnis des 56 löschen.
Ich habe von Capristrano gehört und es scheint besser zu sein, Puppet zum Verwalten von Paketen, Konfigurationsdateien und zum Bereitstellen von Apps mit Capristrano zu verwenden, nicht wahr?
Vielen Dank.