मैं कठपुतली के साथ शुरुआत कर रहा हूं और मैं जानना चाहूंगा कि क्या मैं कठपुतली के साथ आवेदन करने के लिए सही तरीके से हूं।
तालियाँ एक 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 के बारे में सुना है और यह managinig संकुल के लिए कठपुतली का उपयोग करने के लिए बेहतर प्रतीत होता है, फाइलों को कॉन्फ़िगर करना और एप्लिकेशन को तैनात करने के लिए Capristrano का उपयोग करना, है ना?
धन्यवाद।