2016-04-06 18 views
6

Tôi đang sử dụng máy chủ cấu hình đám mây mùa xuân để lưu trữ vị trí tập trung cho tất cả cấu hình tệp thuộc tính được sử dụng trong dự án. tôi đã cố gắng sử dụng các tập tin cấu hình từ một hệ thống tập tin địa phương sử dụng dưới đây và nó hoạt động tốt:thuộc tính cấu hình đám mây mùa xuân từ cả hệ thống tệp cục bộ và git repo

spring.profiles.active=native 
spring.cloud.config.server.native.searchLocations=file://${HOME}/Documents/test-config/cloud-config-properties/ 

Tôi cũng sử dụng repo git sử dụng: spring.cloud.config.server.git.uri=ssh://xxxxxx.com:7999/test/cloud-config-properties.git

Tôi muốn thử sử dụng một sự kết hợp của điều này trong dự án của tôi. Ví dụ - đối với cấu hình dev/test - tôi muốn sử dụng từ hệ thống tệp cục bộ và cho sản xuất - Tôi muốn sử dụng kho lưu trữ Git. Tôi đã bật cả urit git và cấu hình gốc trong ứng dụng của tôi.properties trong ứng dụng máy chủ cấu hình. Nhưng các thuộc tính luôn được chọn từ hệ thống tệp cục bộ. Điều này có thể không?

+0

Hiện tại không thể thực hiện cả hai cùng một lúc. – spencergibb

+0

@spencergibb - Ok. Cảm ơn bạn! –

Trả lời

2

Không được hỗ trợ ra khỏi hộp, tuy nhiên có một giải pháp cho việc này. Bạn có thể xác định basedir cho máy chủ cấu hình, đó là nơi nó tiết kiệm các tập tin rồi nó lấy từ máy chủ từ xa, bằng cách thiết lập thuộc tính (trong máy chủ config):

spring.cloud.config.server.git.basedir=<your_dir> 

Nếu bạn đang làm việc với Docker, bạn có thể ánh xạ thư mục này đến hệ thống tệp máy chủ.

Bây giờ, bất kỳ tệp nào bạn đưa vào đó sẽ được cấu hình máy chủ nếu nó khớp với bất kỳ ứng dụng/hồ sơ nào trong yêu cầu. Ví dụ bạn có thể đặt một tập tin có tên là application-dynamic.properties, và có tất cả khách hàng của bạn sử dụng năng động là cấu hình cuối cùng, ví dụ

spring.profiles.active=systesting,dynamic 

Bằng cách này tất cả mọi thứ bạn sẽ đưa vào application-dynamic.properties sẽ ghi đè bất cứ điều gì được định nghĩa trong repo cấu hình của bạn.

Một điều cần lưu ý là bạn chỉ cần thêm tệp sau khi máy chủ configuartion bắt đầu vì nó xóa thư mục này trong khi khởi động.

Kim nói, thực hành không tốt trong sản xuất (ví dụ khởi động lại sẽ khiến tệp bị xóa), nhưng đối với thử nghiệm/dev thì đây là tùy chọn tốt nhất.

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