Je suis un débutant avec Puppet et je voudrais savoir si je suis sur la bonne voie pour déployer des applications avec Puppet.
Les applciations sont dans un fichier tar.gz qui contient un fichier avec le numéro de version. Donc, je fais cela pour déployer (je vais sur le serveur et je redémarre le client pour récupérer la nouvelle archive tar):
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"] ],
}
Mais, quand je veux mettre à jour, je ne sais pas dire Puppet pour supprimer l'ancien répertoire? Par exemple, si je souhaite mettre à niveau la version 56 à 57: je dois supprimer le répertoire de version du 56.
J'ai entendu parler de Capristrano et il semble préférable d'utiliser Puppet pour gérer des packages, configurer des fichiers et utiliser Capristrano pour déployer des applications, n'est-ce pas?
Merci.