Saya baru mengenal Wayang dan walaupun saya telah menggunakan sistem * nix selama bertahun-tahun, saya tidak pernah bekerja sebagai sysadmin atau dalam ops.
Saat ini saya sedang menulis manifes wayang untuk hosting satu set aplikasi web (PHP / MySQL / MongoDB, code in git). Jelas Wayang perlu memiliki pengetahuan tentang aplikasi yang sebenarnya karena saya akan membuat virtual host untuk masing-masing, tetapi saya tidak yakin apakah Wayang harus mengelola hal-hal seperti penyebaran kode dan pembuatan basis data.
Apakah Wayang alat yang tepat untuk penyebaran aplikasi? Jika tidak, dapatkah Anda merekomendasikan alat yang lebih tepat?
deployment
puppet
michaeltwofish
sumber
sumber
Jawaban:
Saya akan mencari Capistrano atau Fabric untuk penempatan ..
Anda akan memiliki kontrol yang lebih baik tentang bagaimana penyebaran terjadi dengan dua alat ini.
sumber
Wayang digunakan untuk penyebaran di banyak organisasi besar, tetapi itu tidak selalu sempurna. Sebagian besar tergantung pada metodologi penempatan Anda. Apakah Anda menggunakan banyak mesin sekaligus? Apakah Anda melakukan penggelaran bergulir?
Beberapa organisasi menggunakan Wayang dengan membangun paket penyebaran mereka dan kemudian memiliki kebijakan menegakkan wayang untuk berada di versi yang tepat dari paket itu. Karena boneka memiliki konsep lingkungan termasuk, Anda dapat menggunakan lingkungan untuk melakukan penyebaran secara bertahap (dev, test, prod misalnya).
Organisasi lain menggunakan boneka untuk mengatur penyebaran dengan menembakkan rsync, checkout git atau beberapa salinan file secara rekursif menggunakan boneka (meskipun itu agak lambat).
Ada alat lain yang cukup bagus yang tersedia untuk ditempatkan juga. Saya telah menggunakan Whiskey Disk di masa lalu (alat ruby sederhana) dan sangat menyukainya.
(Penafian, saya bekerja di Puppet Labs)
sumber
Jika Anda ingin membuat paket dari aplikasi Anda, Anda bisa melihat ke FPM . Kode ada di GitHub .
sumber
Menurut saya, wayang bukanlah alat yang tepat untuk menempatkan aplikasi.
Saya menggunakan Jenkins untuk membangun dan menggunakan kode kami untuk menguji dan mengatur.
Jenkins awalnya merupakan server integrasi berkelanjutan, tetapi sangat fleksibel dan modular. Ada banyak plugin untuk Jenkins yang dapat membantu Anda menggunakan aplikasi Anda:
Untuk aplikasi kami, saya telah mengonfigurasi Jenkins dengan Publish over SSH yang menyalin file WAR yang berhasil dibuat ke server tujuan dan kemudian menjalankan skrip yang melakukan pencadangan dan penyebaran. Semoga ini membantu!
sumber
Eksekusi jauh + alat manajemen konfigurasi akan bagus untuk penyebaran aplikasi. Garam adalah contoh yang bagus untuk ini .
sumber
Wayang tidak benar-benar dirancang untuk penyebaran karena ketika ada sejumlah besar file yang terlibat Anda bisa mengalami masalah. Anda dapat melihat capistrano untuk penerapan aplikasi.
http://rubyforge.org/projects/capistrano/
sumber