Quản lý cấu hình là gì?


12

Trong tất cả các dự án mà tôi đã tham gia có đầu vào từ một nhà tư vấn bên ngoài, câu hỏi đã được hỏi về loại Quản lý cấu hình mà chúng tôi đang sử dụng. Trong các trường hợp này, nhà tư vấn không thể xác định Quản lý cấu hình. Vậy đo la cai gi?


4
Thành thật chỉ là Google nó, hai kết quả đầu tiên là các mục Wikipedia có liên quan giải thích tất cả về nó.
Jeremy


2
Tôi đã đọc trang wikipedia đó, và thành thật mà nói tôi nghĩ rằng nó được viết bởi cùng một "chuyên gia tư vấn" mà Henry đang đề cập đến ...
Dean Harding

À đúng rồi, từ thông dụng. Mang lại những kỷ niệm từ những ngày làm việc của tôi.
Jason Baker

@Dean Harding Chính xác!
Henry

Câu trả lời:


4

Quản lý cấu hình phần mềm (SCM) nào có thể trả lời như sau:

  • Những tập tin nguồn nào được sử dụng để làm cho sản phẩm cuối cùng của chúng tôi?
  • Điều gì đã thay đổi so với lần cuối cùng chúng tôi tạo ra sản phẩm cuối cùng của mình?
  • Tại sao chúng ta thay đổi nó?

Điều này đến lượt nó có thể phát triển thành một "quá trình" khá lớn và xấu xí. Các vấn đề về quy trình là lý do tại sao hầu hết các nhà phát triển đều trừng mắt khi đề cập đến SCM, vì điều này có nghĩa là theo dõi các tệp nguồn, lỗi và yêu cầu; sau đó kết hợp tất cả lại với nhau để bạn có thể kiểm toán các thay đổi (Đây là một thế giới lý tưởng theo quan điểm quản lý vì nó cung cấp một công cụ quản lý tốt để thấy rõ hơn những tài nguyên anh ta cần ở đâu.)

Điều này khác với Quản lý cấu hình ITIL thực sự là theo dõi tài sản phần mềm, phần mềm nào đang chạy ở đâu (máy chủ / máy trạm nào) và thiết lập cho phần mềm đó là gì.

Nói cách khác, chuyên gia tư vấn của bạn có nhiều khả năng muốn biết là cách công ty / nhóm phát triển CỦA BẠN trả lời ba câu hỏi ở đầu câu trả lời của tôi.


1
Lần gần đây nhất tôi nói chúng tôi sử dụng svn, Trac và Hudson. Rõ ràng từ cái nhìn trên khuôn mặt của các chuyên gia tư vấn rằng anh ta đã không nghe thấy bất kỳ điều này. Vì vậy, tôi đã chỉ cho anh ấy cách đăng ký yêu cầu của chúng tôi vào Trac, cách Trac tích hợp với svn, cách Hudson tự động xây dựng và triển khai mọi thứ và anh chàng liệt kê quản lý cấu hình là một rủi ro dự án.
Henry

12

Quản lý cấu hình bao gồm "mọi thứ khác" không liên quan trực tiếp đến việc viết mã. Vì vậy, đó là cách bạn quản lý các bản phát hành, cách bạn quản lý và xử lý các báo cáo lỗi và đề xuất tính năng, cách bạn thực hiện các bản dựng của mình, v.v. Nó cũng thường bao gồm cách quản lý mã nguồn của bạn (ví dụ: bạn sử dụng kiểm soát phiên bản nào, chiến lược phân nhánh, cách bạn [có thể] quản lý nhiều "bản phát hành" đồng thời, v.v.).


2

Quản lý cấu hình có nghĩa là rất nhiều thứ theo thời gian. Tôi coi nó quan trọng đối với quản trị viên hoặc hoạt động hơn là trực tiếp với nhà phát triển. Khi một người hoạt động của bạn cố gắng duy trì hoạt động của máy chủ, bạn lo lắng về việc thiết lập máy, quản lý cấu hình của họ và giữ cho nó chạy. Nếu bạn chỉ cần đăng nhập vào máy tính và bắt đầu cài đặt phần mềm và thay đổi tệp cấu hình trên máy bạn không quản lý cấu hình đó. Điều gì xảy ra nếu máy đó chết? Điều gì xảy ra nếu ai đó đi trên máy đó và thay đổi tệp cấu hình và mọi thứ bắt đầu kỳ quái? Điều gì sẽ xảy ra nếu bạn cần khởi động một máy khác được cấu hình chính xác như máy đang chạy? Bạn có làm được không

Nếu không có chiến lược quản lý cấu hình, bạn không thể. Và đó là lý do tại sao nó quan trọng. Đó là tất cả về độ lặp lại. Các nhà phát triển tiếp cận khả năng lặp lại khác với hoạt động mà mọi người làm vì vậy chúng tôi quan tâm đến việc lặp lại những thứ khác nhau.

Có một số công cụ nguồn mở tuyệt vời giúp bạn làm điều này: Chef, Capistrano, Cook và thậm chí là SVN. Tại sao SVN chỉ nên được sử dụng bởi các nhà phát triển? Kiểm tra tệp cấu hình của bạn, tập lệnh bạn sử dụng để định cấu hình máy và theo dõi phiên bản của chúng. Những phần trong tổ chức của bạn rất quan trọng để duy trì hoạt động. Bạn không muốn mất những thứ đó.

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.