Tôi khá mới với đường ray, nhưng tôi có một số chương trình kinh nghiệm trong PHP và các ngôn ngữ khác. Tôi thực sự thích đường ray, và tôi đang làm việc trên một ứng dụng cho công ty của tôi, nhưng tôi vẫn không hoàn toàn hiểu cách thức tệp tin secret.yml hoạt động với git và heroku. Tôi hiểu rằng những bí mật được sử dụng để xác thực, nhưng tôi không hiểu chính xác làm thế nào để giữ bí mật chúng trong khi vẫn triển khai đến heroku thông qua git.Làm cách nào để giữ bí mật bí mật trong đường ray?
Câu hỏi đầu tiên là, tôi có thực sự cần giữ bí mật phát triển và kiểm tra bí mật của mình không? Rails tự động đặt bí mật phát triển sản xuất vào bí mật môi trường (mà tôi vẫn chưa hiểu hết), nhưng tại sao nó lại quan trọng nếu mọi người biết bí mật phát triển và kiểm thử của tôi là gì?
Thứ hai, một nguồn lực tốt để hiểu rõ hơn bằng cách sử dụng tệp tin bí mật.yml kết hợp với git là gì? Các hướng dẫn đường ray dường như không tài liệu sử dụng nó rất tốt (chỉ có một đoạn được dành riêng cho secrets.yml), và điều này có vẻ như một chủ đề khá quan trọng có thể dẫn đến một lỗ hổng bảo mật nghiêm trọng trong ứng dụng của bạn.
Cuối cùng, làm cách nào để người khác bảo vệ bí mật của họ? Nhìn vào một số ứng dụng ví dụ trên github, tôi đã nhận thấy rằng hầu hết mọi người dường như không thực hiện bất kỳ bước nào để giữ tệp bí mật trong .gitignore. Đây có phải chỉ là một sự giám sát, hay là vì nó không nghiêm trọng về vấn đề an ninh như tôi nghĩ?
Tôi đánh giá cao bất kỳ trợ giúp nào tôi có thể nhận được. Tôi đã nghiên cứu vấn đề cụ thể này một thời gian và chưa thực sự nhận được bất kỳ giải pháp toàn diện nào cho vấn đề này. Tôi muốn trình bày dự án của mình với công ty và giải thích các lợi thế của việc sử dụng các hệ thống kiểm soát phiên bản như git, nhưng tôi cũng muốn ứng dụng đủ an toàn để tin tưởng rằng nó giữ dữ liệu của công ty tôi an toàn.
Lưu ý rằng Heroku đẩy bạn đặt biến môi trường với cấu hình ứng dụng của bạn - xem tại đây: https://devcenter.heroku.com/articles/config-vars – elithrar