5

Tôi đang tự hỏi về một số phương pháp hay nhất hiện có về lưu trữ cài đặt cấu hình. Giả sử bạn có một số cài đặt được chia sẻ trên nhiều ứng dụng. Tôi đã nghe cả hai cách tốt và xấu để lưu trữ các loại cài đặt cần được chia sẻ (tệp XML).Thực tiễn tốt nhất về cài đặt cấu hình

Chỉ cần tự hỏi về tiêu chuẩn tốt trong việc duy trì cài đặt ứng dụng trên các bản dựng để triển khai dễ dàng hơn.

Tôi đoán tôi đang tìm lúc này từ 2 kịch bản:

  1. Đơn trong nhà (dù đó là một năm lớn hoặc ứng dụng quản trị nhỏ).
  2. Khi tạo API cho người khác để tiêu thụ, cách tham khảo cài đặt cấu hình khi bạn không biết giá trị cuối sẽ là gì từ người tiêu dùng sẽ sử dụng API của bạn trong ứng dụng của họ.

Added-1:

Cảm ơn. Tôi đã nghe những câu chuyện kinh dị nơi một số nơi có cài đặt cấu hình quản lý cơn ác mộng trên nhiều ứng dụng. Tôi không phải là một người xây dựng vì vậy tôi không biết tại sao nhưng tôi muốn chắc chắn cố gắng để đảm bảo rằng tôi hiểu nó ngay bây giờ về web.config so với các tập tin cấu hình tùy chỉnh, vv loại kịch bản.

Added-2:

Và những gì về khi bạn đang tạo một API để được tiêu thụ. Bạn có cho phép nói rằng một lớp học sẽ kéo một số thông tin cấu hình nhưng những điểm cuối (thuộc tính) không được xác định cho đến khi khách hàng tiêu thụ API của bạn (cụ thể là C# /. NET)? Ở đâu và làm thế nào bạn sẽ thiết lập các thuộc tính trong cho phép nói một lớp cấu hình mà bạn tạo ra như "ApplicationDefinitions"?

+0

Bạn thực sự phải cung cấp một số thông tin về môi trường này. Nếu không câu hỏi này sẽ chỉ nổ tung trong 1000 hướng. – krosenvold

Trả lời

1

Nếu trên nhiều ứng dụng, bạn có thể (rất cẩn thận) đặt các cài đặt vào machine.config.

Hoặc bạn có thể có tệp lưu trữ cài đặt cấu hình chung riêng biệt được đọc và sử dụng để tạo web.config mới mỗi khi bạn xây dựng ứng dụng/giải pháp web của mình.

+0

Bạn đang giả định nền tảng nào? Tệp machine.config hoặc tệp web.config được lưu trữ ở đâu? –

+0

Xin lỗi ... điều này dành riêng cho .NET – Kon

0

Những gì tôi cố gắng làm là tách biệt các thiết lập cấu hình mà sẽ khác nhau cho việc triển khai các môi trường khác nhau vào các tập tin riêng biệt, bởi các chức năng logic tổ chức, và sau đó không bao gồm các tệp này trong kịch bản triển khai ...

Nếu bạn đang mã hóa trong. Net, sau đó cài đặt chung trong nhiều ứng dụng có thể được lưu trữ trong machine.config ... một lần nữa, không đặt chúng trực tiếp trong machine.config, nhưng tạo một tham chiếu đến một tệp riêng biệt (sử dụng thuộc tính configSection và configSource = "" được định nghĩa tùy chỉnh, để tạo tham chiếu gián tiếp tới tệp riêng biệt đó ...

1

Chúng tôi phải hỗ trợ nhiều UAT (Kiểm tra chấp nhận người dùng), sản xuất, phát triển môi trường phục hồi và thiên tai.

Lý tưởng nhất là thông tin này sẽ tất cả các thể ở một máy chủ LDAP khổng lồ ..

Trong thế giới thực, chúng tôi đã viết một nhiệm vụ ANT sử dụng Jakarta-Velocity như một công cụ khuôn mẫu. Điều này tạo ra nhiều tệp (UAT, DEV, PROD, DR) từ một tệp mẫu duy nhất.

Chúng tôi có tệp trung tâm được sử dụng cho tất cả các công cụ phổ biến và tệp nhỏ hơn cho các ứng dụng riêng lẻ. Dòng lệnh cho bất kỳ ứng dụng nào cần biết liệu đó là hệ thống UAT/DEV .. đang chạy, sau đó tải trong tệp phổ biến và tệp ứng dụng cụ thể.

Điều này hoạt động rất tốt trong thực tế và chúng tôi đã sử dụng nó trong khoảng 8 năm. Tôi đã thấy rất nhiều người khác đang cố gắng sắp xếp nhiều tệp ứng dụng cho tất cả các môi trường của họ và nó KHÔNG phải là khá. Sai lầm thường được thực hiện.

Các vấn đề liên quan