Thực hành tốt nhất để thử nghiệm công thức nấu ăn đầu bếp?


18

Nhóm của tôi đã tạo ra một số lượng lớn sách dạy nấu ăn. Tôi đã tự hỏi những phương pháp và khung nào tôi nên xem xét để chúng tôi có thể bắt đầu tạo các thử nghiệm để đảm bảo rằng các nút của chúng tôi được cấu hình đúng?


Âm thanh như thể nó thuộc về cook.se;)
Mark Henderson

Trong một khoảnh khắc tôi nghĩ bạn đang nói về Đầu bếp: en.wikipedia.org/wiki/Chef_%28programming_lingu%29
Janne Pikkarainen

Câu trả lời:


7

Bạn có thể (cũng) nhìn vào Vagrant cho điều này.
Một video đang cho thấy cách sử dụng kết hợp các sách dạy nấu ăn của Vagrant và Chef. Và có một trang dành riêng cho Vagrant and Chef trên trang Opscode (cập nhật 2015-01-23: trang đã biến mất ...).


3

cucumber-chefviên đá quý ruby ​​và một cuốn sách được phát hành gần đây là Nelson-Smith et al - "Cơ sở hạ tầng hướng đến thử nghiệm với đầu bếp" sử dụng loại đá quý đó - http://www.cucumber-chef.org/

Chỉ cần nhớ điều này từ danh sách theo dõi github của tôi: https://github.com/gregretkowski/vmth/

VMTH (Khai thác thử nghiệm máy ảo) cung cấp cơ chế kiểm tra đơn vị tự động hóa cơ sở hạ tầng của bạn - chính sách bù nhìn, công thức nấu ăn, phát hành tập lệnh triển khai, v.v. Nó sử dụng các tính năng của màn hình VM hiện đại (như qemu) để chụp lại trạng thái hệ thống, sau đó đặt lại trạng thái đó sau mỗi thử nghiệm, để một loạt các thử nghiệm có thể được thực hiện trên một cá thể VM liên tiếp


1

Có một số tùy chọn.

Opscode có hỗ trợ "no-op" trong lộ trình phát triển Chef sẽ giúp kiểm tra. Chúng tôi lập luận rằng "không-op" không nhất thiết phải làm những gì bạn muốn, nhưng hiểu được mong muốn cho tính năng này.


1

Một số câu trả lời ở đây có vẻ hơi cũ. Đối với CI và thử nghiệm cục bộ, tôi sẽ xem xét tận dụng một công cụ khai thác thử nghiệm như Test Kitchen cũng hỗ trợ Vagrant nếu bạn đã sử dụng nó.

Nó sẽ cho phép bạn chạy các coobkook của mình chống lại nhiều giải pháp đám mây và ảo hóa hiện nay: EC2, Digital Ocean, Vagrant, Docker, v.v.

Nó cũng có các plugin để cho phép bạn chạy một trong nhiều công cụ kiểm tra cơ sở hạ tầng tồn tại ngày nay:

  • serverpec - Khung thử nghiệm phổ biến nhất.
  • goss - YAML, đơn giản, nhị phân khép kín, cực kỳ nhanh chóng.
  • Inspec - nghĩ về nó khi serverpec được cải thiện (được viết bởi những người đầu bếp).
  • testinfra - Khung thử nghiệm máy chủ dựa trên Python.

0

Theo kinh nghiệm của tôi, cách duy nhất để thực sự làm điều này là với môi trường dàn dựng và thực hành phát triển cẩn thận. Việc loại bỏ công việc thực tế cần thực hiện là vô cùng lộn xộn và mong manh, và các bộ thử nghiệm CI chạy trên cam kết hoặc đẩy rất nhiều nỗ lực để viết và duy trì (mặc dù Chef có thể giỏi hơn rất nhiều so với Puppet, đó là kinh nghiệm chính của tôi ), và mất một lượng thời gian vô lý để chạy.

CHỈNH SỬA

Ngay sau khi tôi viết bài này, tôi đột nhiên nhận ra rằng có thể có một cách để thực hiện thử nghiệm "đơn vị" hợp lý hiệu quả các công thức nấu ăn Chef / Puppet với một hệ thống tập tin liên minh và một số lượng đáng kể của giàn giáo. Tuy nhiên, tôi không thể tìm thấy bất cứ điều gì mà mọi người đã làm trong khu vực này. Tôi có thể vừa tìm cho mình một dự án.


Kiểm tra cơ sở hạ tầng là vô cùng quan trọng. Đương nhiên, có một số phương pháp, nghĩa là chức năng và không chức năng, cần thiết để thực hiện điều này hơi khác so với phương pháp phần mềm.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.