Найкраща практика тестування рецептів шеф-кухаря?


18

Моя команда створила велику кількість кухарських книг кухарів. Мені було цікаво, які методи та рамки я повинен вивчити, щоб ми могли почати створювати тести, щоб переконатися, що наші вузли налаштовані належним чином?


Схоже, що це належить на cooking.se;)
Марк Хендерсон

На мить я подумав, що ти говориш про шефа: en.wikipedia.org/wiki/Chef_%28programming_language%29
Janne Pikkarainen

Відповіді:


7

Ви можете (також) переконатися в цьому для Vagrant . Відео показує , як використовувати комбо Vagrant і шеф куховарських книг. І на сайті Opscode є спеціальна сторінка для Vagrant and Chef (оновлення 2015-01-23: сторінка пішла ...).


3

Існує cucumber-chefрубінова дорогоцінний камінь і нещодавно випущена книга Нельсона-Сміта та ін. - "Тест-керована інфраструктура з шеф-кухарем", яка використовує цей дорогоцінний камінь - http://www.cucumber-chef.org/

Щойно згадав про це з мого списку спостереження github: https://github.com/gregretkowski/vmth/

VMTH (Virtual Test Harness) містить механізм тестування автоматизації вашої інфраструктури - маріонеткові політики, рецепти шеф-кухарів, сценарії розгортання випуску тощо. Він використовує функції сучасних моніторів VM (наприклад, qemu) для зйомки стану системи, а потім скидання. цей стан після кожного тесту, так що серія тестів може бути виконана на екземплярі VM швидко


1

Існує ряд варіантів.

Підтримка Opscode має в дорожній карті розробки Chef підтримку "no-op", яка допоможе при тестуванні. Ми стверджуємо, що "без операції" не обов'язково робити те, що ви хочете, але розуміє прагнення до функції.


1

Деякі відповіді тут здаються трохи застарілими. Для CI та локального тестування я б розглядав можливість використання інструменту тестового ремесла, як Test Kitchen, який також підтримує Vagrant, якщо ви його вже використовували.

Це дозволить вам запустити куб-кукси проти багатьох хмарних і віртуалізаційних рішень сьогодні: EC2, Digital Ocean, Vagrant, Docker тощо.

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

  • serverspec - Найпопулярніший тестовий фреймворк.
  • goss - YAML, простий, автономний бінарний, надзвичайно швидкий.
  • inspec - подумайте про це як про покращення серверів (написано хлопцями-кухарями).
  • testinfra - база тестування сервера на основі Python.

0

На мій досвід, єдиний спосіб реально це зробити - це постановка середовища та ретельна практика розвитку. Знущання над фактичною роботою, яка повинна бути виконана, надзвичайно безладна і тендітна, а тестові набори CI, що працюють на фіксації чи натисканні, доклали багато зусиль для написання та підтримки (хоча шеф-кухар, мабуть, набагато краще, ніж Маріонетка, що є моїм головним досвідом ), і зайняти смішну кількість часу для бігу.

EDIT

Тільки-но після того, як я написав це, я раптом зрозумів, що може бути спосіб зробити досить ефективне "одиничне" тестування рецептів шеф-куклів з файловою системою об'єднання та значним обсягом лісів. Однак я не можу знайти нічого, що хтось уже робив у цій галузі. Я, можливо, щойно знайшов собі проект.


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