Tắt câu trả lời của tôi cho câu hỏi: Làm thế nào DevOps có thể giúp cải thiện thủ tục Ký quỹ phần mềm? Tensibai có câu hỏi:
Điều gì sẽ cần Capistrano trên đầu của con rối hoặc đầu bếp?
Câu trả lời của tôi là đăng một liên kết đến bài viết của Noah Gibbs "Chúng ta có cần cả Capistrano và Chef không?" . Cá nhân, tôi vẫn đăng ký với chế độ xem của Nô-ê rằng nó phù hợp nhất với:
- sử dụng một công cụ triển khai chuyên gia như Capistrano để triển khai.
- sử dụng một công cụ quản lý cấu hình chuyên gia như Chef để quản lý cấu hình.
Cách tiếp cận cơ bản mà mỗi loại công cụ sử dụng để hoàn thành nhiệm vụ của nó rất khác nhau:
Các công cụ quản lý cấu hình - là về việc tạo và duy trì trạng thái mong muốn của một hệ thống, về bản chất chúng là tạm thời. Ví dụ về các công cụ quản lý cấu hình là Chef , Puppet , Ansible , PowerShell DSC , Salt Stack .
Công cụ triển khai - là về việc cung cấp các phiên bản phần mềm vào môi trường lưu trữ, chúng cung cấp chức năng để duy trì nhiều phiên bản phần mềm trên nhiều máy và quản lý phiên bản nào là "hiện tại", về bản chất chúng là bắt buộc. Ví dụ về các công cụ triển khai là Capistrano , Octopus Deploy , Deployer và Command.io .
Tôi tin rằng Công cụ quản lý cấu hình có thể thực hiện công việc của các công cụ triển khai và trong trường hợp Cơ sở hạ tầng không thay đổi, chúng là công cụ thích hợp nhất cho công việc vì các phiên bản phần mềm trên mục tiêu không cần phải duy trì.
Câu hỏi: Các công cụ quản lý cấu hình như Chef, Ansible và Puppet đã trưởng thành đến mức chúng có khả năng đáp ứng cả các mô hình idempotent và mệnh lệnh?