2013-04-18 32 views
8

Theo số documentation của Meteor, chúng tôi có thể bao gồm tệp cài đặt thông qua dòng lệnh để cung cấp cài đặt triển khai cụ thể.Truy cập Cài đặt Meteor trong Môi trường Sản xuất Tự sở hữu

Tuy nhiên, tùy chọn --settings dường như chỉ khả dụng thông qua các lệnh rundeploy. Nếu tôi đang chạy ứng dụng Meteor trên cơ sở hạ tầng của riêng mình - như được nêu trong phần Chạy trên cơ sở hạ tầng của riêng bạn của documentation - dường như không có cách nào để chỉ định tệp cài đặt cụ thể cho triển khai ở bất kỳ đâu trong quá trình.

Có cách nào để truy cập cài đặt Meteor trong môi trường sản xuất, chạy trên cơ sở hạ tầng của riêng tôi không?

Trả lời

14

Có, bao gồm nội dung cài đặt trong biến môi trường METEOR_SETTINGS. Ví dụ:

export METEOR_SETTINGS='{"privateKey":"MY_KEY", "public":{"publicKey":"MY_PUBLIC_KEY", "anotherPublicKey":"MORE_KEY"}}'

Và sau đó chạy ứng dụng sao băng như bình thường.

Điều này sẽ điền đối tượng Meteor.settings là bình thường. Đối với các thiết lập ở trên,

Meteor.settings.privateKey == "MY_KEY" #Only on server 
Meteor.settings.public.publicKey == "MY_PUBLIC_KEY" #Server and client 
Meteor.settings.public.anotherPublicKey == "MORE_KEY" #Server and client 

cho project của chúng tôi, chúng tôi sử dụng một kịch bản upstart và bao gồm nó ở đó (mặc dù mới nổi có một cú pháp hơi khác nhau). Tuy nhiên, nếu bạn đang bắt đầu nó với một kịch bản shell bình thường, bạn chỉ cần bao gồm câu lệnh export trước lệnh nút của bạn. Bạn có thể, ví dụ, có một kịch bản như:

export METEOR_SETTINGS='{"stuff":"real"}' 
node /path/to/bundle/main.js 

hoặc

METEOR_SETTINGS='{"stuff":"real"}' node /path/to/bundle/main.js

Bạn có thể tìm thêm thông tin về các biến bash here.

+0

Vì vậy, trong mã 'Meteor.settings.privateKey' sẽ hoạt động như mong đợi? – JT703

+0

Đúng. Trả lời chỉnh sửa để phản ánh điều đó. – jagill

+0

Tuyệt vời. Vì vậy, tôi đoán câu lệnh xuất trong mã của bạn? Có một vị trí cụ thể trong codebase mà bạn đặt câu lệnh đó không? –

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