Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

276
Visualizações
Mejores prácticas para tener diferentes variables para el desarrollo y la producción.

Estoy desarrollando un pequeño servidor hecho en node, hapijs, nodemon, etc.
Es un resto de API básico que crecerá con el desarrollo continuo.

Necesito tener diferentes variables para dev. y producción De hecho, solo tengo un archivo .env. He leído que no se recomienda tener 2 archivos separados para esto.

¿Cómo debo modificar mi app.js para tener dos situaciones?

  1. ejecutar nodemon localmente en mi PC mientras está en desarrollo y variables locales
  2. al implementar en heroku, use variables de producción

Muchas gracias por adelantado,

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Como probablemente ya lo hayas hecho. Escriba su código para usar variables de entorno. (ya sea que se ejecute localmente o en producción, ese es el mismo código).

 const ACCESS_KEY = process.env.ACCESS_KEY;

Su archivo .env contiene SOLAMENTE su configuración local , para depurar en su computadora local. Puede agregar .env en su archivo .gitignore para asegurarse de que no se envíe a su repositorio de git.

La configuración de producción, por el contrario, no debería estar en ningún archivo . Solo deben configurarse directamente en la configuración de su proveedor de nube.

  • si usa Azure, deben estar en un Azure Key Vault
  • si está utilizando AWS, deberían estar en KMS
  • si está utilizando Heroku , entonces deben configurarse en la configuración de Heroku.

Configuración de Heroku

Es posible hacer esto desde la pestaña "Configuración" en el tablero de la aplicación heroku. Hay una sección "Config vars".

configuración

Cuando heroku inicie su aplicación, definirá las variables de configuración configuradas como variables de entorno. Y podrá acceder a ellos con process.env tal como lo haría con las variables de entorno que se definieron en su archivo .env durante el desarrollo.

CLI

El tablero facilita obtener una descripción general y administrar las claves. Quizás aún más conveniente, también puede hacer esto con la herramienta heroku cli directamente desde la línea de comandos.

Para obtener una lista de sus variables de entorno actuales, ejecute.

 heroku config

Para agregar una nueva clave desde la CLI.

 heroku config:set ACCESS_KEY=adfsqfddqsdf

Todo esto también se describe en la documentación oficial de Heroku.

over 4 years ago · Santiago Trujillo Relatório

0

En general, generaría su archivo env en el momento de la compilación. Por ejemplo, al usar AWS SSM / o algún tipo de bóveda que sea segura, almacena sus secretos como contraseñas de db. El archivo env es una plantilla que se compila con las variables env correctas para la implementación de destino.

Además, puede tener variables ficticias en su plantilla env que comprometa con git. Luego agregue un archivo .gitignore con una entrada a su plantilla env para asegurarse de no comprometer ningún secreto en el archivo env. Luego, compila localmente su archivo para local, durante su compilación de puesta en escena para la puesta en escena, durante la compilación de producción para producción, etc.

A medida que la aplicación crece, esto le permite proporcionar credenciales por persona/por entorno. Agrega los secretos/permisos asociados a la bóveda. Permita que las personas/entornos accedan a esos secretos, y luego podrá controlar el acceso de una manera bastante detallada.

over 4 years ago · Santiago Trujillo Relatório

0

Sugiero usar un paquete npm para manejar diferentes claves y variables de entorno. (o implementarlo por ti mismo)

Junto con el archivo .env

1- use el archivo .env para almacenar credenciales y secretos 2- haga referencia a estas variables .env a través de un paquete diferente que proporciona un archivo separado para cada entorno

paquete sugerido: https://www.npmjs.com/package/config

Usé este enfoque en uno de mis proyectos y me hizo la vida más fácil.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda