Ocultar contraseña de text simple en development.rb

Con el fin de configurar el correo electrónico de confirmación actionmailer / idear tengo que proporcionar los detalles a una count de Gmail real:

config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { address: 'smtp.gmail.com', port: 587, domain: 'example.com', user_name: 'gmailaccount@gmail.com', password: 'gmailpassword', authentication: 'plain', enable_starttls_auto: true } 

Pero si comprometo este file en github en un repository público, será visible para todo el mundo.

Una solución sería hacer un repository privado, pero no creo que sea el mejor. Tal vez quiero compartir el código con otros desarrolladores que no sé, pero no quiero que vean mi contraseña de correo electrónico.

La otra solución sería agregar el file developent.rb a gitignore. Sin embargo, creo que me gustaría mantenerlo en mi control de versión, ya que cambia con la progresión del proyecto y es bastante importante para ejecutar la aplicación.

¿Cómo puedo configurar Actionmailer sin revelar potencialmente mi contraseña de Gmail a otros desarrolladores / personas a través de github?

———————-FIJAR———————-

Esta es una pregunta duplicada. Sí sé cómo search adecuadamente la información.

Hay una gran respuesta sobre cómo usar las variables de entorno aquí:

Rieles: ¿cómo almacenar la contraseña del correo de forma segura?

Lo que generalmente haces es:

  • versionar un file de plantilla (con documentation para explicar el valor de cada campo)
  • versión una secuencia de commands capaz de generar el file de acción
  • declare ese script como un controller de filter de contenido en .gitattribute (como aquí )
  • almacenar el valor real fuera del git repo (de esa manera, no pueden ser empujados por error)

mancha

(image de " Personalizar los attributes de Git " del Libro de Git )

Eso generaría el file correcto con los valores correctos.

Puedes encriptar ese único file. De esa forma se rastrearía en el repository, pero solo tú podrías leerlo.

Hay una herramienta llamada git-crypt haciendo eso (descargo de responsabilidad: yo no lo he usado).

    Intereting Posts