ฉันเป็นผู้เริ่มต้นด้วย Puppet และฉันต้องการทราบว่าฉันกำลังใช้งานแอปพลิเคชันด้วย Puppet อย่างถูกต้องหรือไม่
applciations อยู่ในไฟล์ tar.gz ซึ่งมีไฟล์ที่มีหมายเลขเวอร์ชัน ดังนั้นฉันจะทำสิ่งนี้เพื่อปรับใช้ (ฉันไปบนเซิร์ฟเวอร์และทำการรีสตาร์ทไคลเอ็นต์เพื่อรับ tarball ใหม่):
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"] ],
}
แต่เมื่อฉันต้องการอัปเกรดฉันไม่รู้ว่าจะพูดว่า Puppet เพื่อลบไดเรกทอรีเก่าหรือไม่ ตัวอย่างเช่นถ้าฉันต้องการอัพเกรดรุ่น 56 เป็น 57: ฉันต้องลบไดเรกทอรีรุ่น 56
ฉันได้ยินเกี่ยวกับ Capristrano และดูเหมือนว่าจะดีกว่าที่จะใช้ Puppet สำหรับแพ็คเกจ managinig, ไฟล์ config และการใช้ Capristrano เพื่อปรับใช้แอพพลิเคชั่นใช่ไหม?
ขอบคุณ