tipos tag remove practices etiquetas create crear best git github secret-key

remove - git tag best practices



cuando tienes una clave secreta en tu proyecto, ¿cómo es posible presionar a GitHub? (4)

Agregue su repo:

  • una plantilla de la misma ( secret_token.rb.template ),
  • un script capaz de generar un archivo de configuración apropiado secret_token.rb basado en datos locales encontrados en el servidor (como un archivo encriptado con el valor secreto listo para decodificarse y ponerlo en el archivo secret_token.rb )

A partir de ahí, agregue un controlador personalizado de atributo git :

La secuencia de comandos a la que se hace referencia más arriba será su secuencia de comandos " smudge " que, al finalizar el árbol de trabajo, generará automáticamente el archivo correcto.

Intento impulsar un nuevo y vacío proyecto de Rail 3.0.4 a GitHub, pero me doy cuenta de que la tienda de cookies tiene una clave secreta:

En config/initializers/secret_token.rb

NewRuby192Rails304Proj::Application.config.secret_token = ''22e8...''

Entonces, ¿cómo podemos evitar que se empuje a GitHub? Podemos ignorar este archivo (usando .gitignore ), pero sin este archivo, la aplicación Rails no se ejecutará en absoluto (y no es una aplicación completa de Rails). O, en general, otros archivos o marcos también pueden tener archivos que contienen claves secretas. En tal caso, ¿cómo debería manejarse al presionar a GitHub?


Coloque la clave secreta en algún tipo de archivo de configuración externo. Éso es lo que hacemos.


Hay varias herramientas externas, que hacen exactamente eso. Básicamente, estas herramientas cifran el archivo con sus datos privados y lo almacenan en el VCS, pero ignoran el archivo original no cifrado.

Uno de los más conocidos y confiables es blackbox . Utiliza gpg para cifrar tus archivos y funciona tanto con git como con hg . Por cierto, es creado por el equipo SO. Echa un vistazo a la sección de alternatives , tiene al menos otras cinco herramientas.

También puedo recomendarte una herramienta llamada git-secret , también usa gpg . Pero solo funciona con git . La principal ventaja es que el flujo de trabajo es mucho más fácil en comparación con otras herramientas.


Podría arriesgarse a confiar en la seguridad / privacidad de Github si es un repositorio privado ... o:
- Extraiga los datos de un archivo de configuración en el servidor. Por ejemplo, si usa Capistrano para la implementación, puede agregar un paso que copie el archivo de configuración desde algún lugar del servidor.
- Usa una variable de entorno.