Khái niệm bạn đang mô tả là quản lý cấu hình. Đây là âm thanh, một cách để xác định, ghi lại, phiên bản / bản nhạc và báo cáo một môi trường. Nó thường là một nhiệm vụ liên quan mạnh mẽ đến kiểm soát phiên bản và quản lý xây dựng, nhưng nó đủ khác biệt thường đòi hỏi một chiến lược riêng, ngay cả khi nó sử dụng một số khái niệm giống nhau và cùng cơ chế xử lý và lưu trữ.
Quản lý cấu hình bên cạnh việc giúp kiểm soát môi trường làm việc cũng giúp thiết lập hồ sơ về các môi trường làm việc khác nhau trong đó phần mềm được sử dụng (phát triển như đã đề cập, cộng với thử nghiệm / QA, triển khai cho khách hàng thường xuyên, triển khai cho khách hàng cần xem xét đặc biệt hoặc cấu hình đặc biệt hoặc xây dựng các thuộc tính, và như vậy).
Như tôi đã nói, đây thường là một nhiệm vụ trùng với kiểm soát phiên bản nguồn và thường dữ liệu quản lý cấu hình nằm bên cạnh nguồn trong cả tài liệu và kho lưu trữ nguồn. Nó không phải như vậy, nhưng thường là một vấn đề thuận tiện.
Tự động hóa một số khía cạnh của quản lý cấu hình đã được cải thiện phần lớn trong những năm gần đây. Một số câu trả lời và nhận xét đề xuất các tập lệnh như một cách để thúc đẩy quản lý cấu hình và các tập lệnh là một câu trả lời tốt để giúp đạt được kết quả có thể lặp lại, nhưng thường thì các tập lệnh thủ công tự chúng không nhất quán và không đầy đủ. Một cách như vậy điều này đã được cải thiện là thông qua cung cấp tự động. Các hệ thống như con rối hoặc đầu bếpgiúp chỉ định các thành phần và hệ thống phần mềm cho một người dùng hoặc máy cụ thể hoặc cho một cấu hình tác vụ cụ thể và cung cấp 'công thức nấu ăn' cho phép thực hiện phương pháp tiếp cận để thiết lập một máy hoặc môi trường hoàn chỉnh. Về cơ bản, nó lấy khái niệm về kho lưu trữ phân phối phần mềm và mở rộng và khái quát hóa nó cung cấp không chỉ các gói phần mềm cần thiết cho hệ thống, mà còn cả các cấu hình cấu hình cụ thể cho từng gói để nó sẵn sàng sử dụng theo cách phù hợp với bạn tình hình.
Vagrant thực hiện điều này theo một hướng hơi khác và cung cấp một cách để nhanh chóng quay vòng các định nghĩa máy ảo, sao cho VM có thể được cung cấp phần mềm và phần cứng ảo tự động và có thể chứng minh là một cách thuận tiện để tái tạo một đại diện cụ thể của phần cứng môi trường được sử dụng bởi người dùng phần mềm của bạn.
Mỗi hệ thống (và các biến thể) cần một chút để thiết lập, nhưng có một số giá trị rõ ràng nếu bạn thấy nhiệm vụ tải lại và cấu hình lại là một nhiệm vụ chung.