Розгортання програми з Puppet


10

Я новачок у Puppet і, хоча багато років використовую * nix-системи, я ніколи не працював як sysadmin або в ops.

Зараз я пишу маріонеткові маніфести для розміщення набору веб-додатків (PHP / MySQL / MongoDB, код у git). Очевидно, що Маріонетка повинна мати деякі знання про фактичні програми, тому що я встановлю віртуальний хост для кожного, але я не впевнений, чи повинен Маріонетка управляти такими речами, як розгортання коду та створення бази даних.

Чи є Лялька відповідним інструментом для розгортання програми? Якщо ні, чи можете ви порекомендувати більш підходящий засіб?


3
Якщо ви підете з цим пізніше, всі відповіді хороші, не читайте лише той, який я вибрав як відповідь.
michaeltwofish

Відповіді:


10

Я б розглядав або Capistrano, або Fabric для розгортання ..

Ви будете краще контролювати, як відбувається розгортання за допомогою цих двох інструментів.


Я поставив +1 цій відповіді, оскільки дав два рішення.
Франсуа Бозолей

Я ціную покажчики. У нашому стопі є Рубі, тому я погляну на Капістрано.
michaeltwofish

9

Лялька використовується для розгортання у багатьох великих організаціях, але це не завжди ідеально. Багато чого залежить від вашої методології розгортання. Ви розгортаєте одразу багато машин? Ви робите розгортання?

Деякі організації використовують Puppet, будуючи пакети своїх розгортань, а потім проводячи маріонеткову політику примусового виконання, щоб бути правильною версією цього пакету. Оскільки маріонетка включає в себе поняття середовища, ви можете використовувати середовища для виконання розгортань поетапно (наприклад, dev, test, prod).

Інші організації використовують маріонетку, щоб оркеструвати розгортання, вистрілюючи rsync, git checkout або якісь рекурсивно копіюючи копії за допомогою маріонетки (хоча це досить повільно).

Для розгортання також доступні інші досить хороші інструменти. Раніше я використовував Віскі диск (простий інструмент для рубіну) і дуже сподобався.

(Відмова, я працюю в лялькових лабораторіях)


Дякую. Розгортання здійснюється на двох збалансованих серверах, в даний час використовується ручна rsync.
michaeltwofish

4

Якщо ви хочете створити пакет із своєї програми, ви можете заглянути в FPM . Код є на GitHub .


Дякую за пораду. У цьому випадку ми не створюємо пакети, але FPM виглядає цікаво, і ми можемо використовувати його для інших завдань.
michaeltwofish

4

Лялька не є відповідним інструментом для розгортання програм на мою думку.

Я використовую Дженкінс для створення та розгортання нашого коду для тестування та постановки.

Дженкінс спочатку є сервером безперервної інтеграції, але він дійсно гнучкий і модульний. Існує безліч плагінів для Дженкінса, які допоможуть вам розгорнути свої програми:

Для нашого додатку я налаштував Дженкінс із програмою Publish over SSH, яка копіює успішно створений файл WAR на сервер призначення, а потім виконує сценарій, який виконує резервну копію та розгортання. Сподіваюся, це допомагає!


Ми використовуємо Jenkins для CI, тому це, безумовно, цікавий варіант для вивчення, дякую.
michaeltwofish


1

Лялька насправді не розроблена для розгортання, оскільки при наявності великої кількості файлів ви можете зіткнутися з проблемами. Ви можете заглянути в capistrano для розгортання програми.

http://rubyforge.org/projects/capistrano/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.