2016-02-29 10 views
6

Tôi đang sử dụng ứng dụng Rails cũ. Không ai chạm vào nó trong một năm. Nhà phát triển cuối cùng còn lại vào tháng 4 năm 2015 và tôi không có cách nào để liên hệ với anh ấy. Tôi có quyền truy cập ssh vào máy chủ và tôi có quyền truy cập vào repo Github.Làm cách nào để xem các vũng ENV trong ứng dụng Rails?

Tôi không biết bất kỳ tên người dùng/mật khẩu nào.

Nếu tôi ssh vào máy chủ và tôi mèo tập tin database.yml, tôi thấy những thứ như:

staging: 
     adapter: mysql2 
     encoding: utf8 
     pool: 5 
     socket: /var/lib/mysql/mysql.sock 
     database: o_wawa_stage 
     username: wawa_stage 
     password: <%= ENV['STAGE_DATABASE_PASSWORD'] %> 
     host: access.dmedia.com 

Nếu tôi chạy "printenv" lệnh sau đó tôi không thấy bất kỳ trong số này vars. Tôi cho rằng chúng chỉ được nạp bởi môi trường Rails.

Tôi đoán tôi có thể chỉnh sửa các mẫu để tạo ra các giá trị với một loạt các câu lệnh "đặt", nhưng tôi nghĩ phải có cách rõ ràng hơn để thực hiện điều này, ngoài việc in dữ liệu mà công chúng có thể nhìn thấy nó?

Nếu tôi cố gắng chạy "đường ray console" Tôi nhận được:

Rails Error: Unable to access log file. Please ensure that /var/www/haha/production/releases/20150118213616/log/development.log exists and is writable (ie, make it writable for user and group: chmod 0664 /var/www/haha/production/releases/20150118213616/log/development.log). The log level has been raised to WARN and the output directed to STDERR until the problem is fixed. 

Tôi không có sudo trên ô này, vì vậy tôi không thể giải quyết các lỗi.

Trả lời

5

Giả sử môi trường chạy thử, như điểm ví dụ của bạn để. Bạn sẽ muốn tải bảng điều khiển bằng cách thêm biến môi trường RAILS_ENV vào lệnh rails console.

RAILS_ENV=staging rails console 

Điều đó sẽ giúp bạn có được. Khi bạn đang ở, bạn chỉ có thể truy cập vào biến ENV trực tiếp.

2.2.2 (main):0 > ENV 

Và điều đó sẽ loại bỏ các biến môi trường cho bạn. Lưu ý, lời nhắc của bạn có thể trông khác. Nếu bạn muốn truy cập một giá trị cụ thể, chẳng hạn như mật khẩu cơ sở dữ liệu, bạn có thể:

2.2.2 (main):0 > ENV['STAGE_DATABASE_PASSWORD'] 
+0

Có cách nào tôi có thể nói "bảng điều khiển đường ray" để tìm nhật ký không? Nhật ký là "/ var/www/wawa/production/shared/log" nhưng bảng điều khiển ray đang tìm kiếm nó trong "/ var/www/wawa/production/log" và nó ném một lỗi vì nó không thể tìm thấy nó . – lorm

+0

Có một cái nhìn bên trong của config/application.rb và config/enivornments/production.rb cho bất kỳ dòng nào trông giống như 'config.logger'.Nó thường là một trong hai tập tin mà cấu hình đăng nhập được ghi đè. http://guides.rubyonrails.org/configuring.html cũng có thể hữu ích. –

0

yourapp/config/env.yml hoặc application.yml vv ...

Hãy tìm mã mà trông giống như

AWS_KEY_ID: blahblah23rkjewfojerflbah 
AWS_SECRET_KEY_ID: blahblah2394082fkwejfoblah 
+0

Điều đó chỉ đúng nếu chúng tôi sử dụng đá quý Figaro. – lorm

+0

Điều này sẽ không trả lại: tìm. -name application.yml – lorm

+0

Trả lại không có gì: tìm. -name env.yml – lorm

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