Las claves verificadas
- Node.js expone las variables de entorno de un proceso mediante process.env y documenta archivos .env para declarar valores. Ver evidencia
- Las variables de entorno representan pares de nombre y valor que una aplicación puede leer al ejecutarse. Ver evidencia
- Docker Compose puede interpolar variables desde la shell y archivos .env, además de recibir valores en la configuración del servicio. Ver evidencia
- GitHub recomienda usar secretos para guardar información sensible en los flujos de trabajo y evitar exponerla en los logs. Ver evidencia
Qué es una variable de entorno
Una variable de entorno es un valor con nombre que un proceso puede leer desde el ambiente donde se ejecuta. La aplicación recibe, por ejemplo, PORT, NODE_ENV o DATABASE_URL sin que esos datos tengan que estar escritos dentro del código fuente. El nombre identifica la configuración y el valor se entrega como texto al proceso.
También puede servirte: Qué es JSON y en qué se diferencia de un objeto
La ventaja aparece cuando el mismo programa pasa de desarrollo a pruebas y producción. El código puede mantenerse igual mientras cambia la configuración que lo acompaña. Node.js documenta tanto las variables disponibles en process.env como el uso de archivos .env para declarar pares de nombre y valor.
Qué conviene guardar allí
Las variables de entorno sirven para puertos, nombres de servicio, URLs de conexión, banderas de funciones y credenciales que el entorno debe inyectar. La aplicación debe validar al iniciar que estén presentes y explicar qué configuración falta, sin imprimir el valor sensible en los logs.
El archivo .env puede resultar práctico en desarrollo, pero no debe entrar al repositorio cuando contiene claves reales. Un ejemplo seguro puede incluir nombres y valores ficticios, mientras que cada entorno carga sus propios valores desde el administrador de secretos, el sistema operativo o la plataforma de despliegue.

Cómo leerlas y cambiar de entorno
En Node.js se lee una variable con process.env.NOMBRE. El código debería tratar el resultado como texto y convertirlo de manera explícita cuando espera un número o un booleano. Por ejemplo, un puerto necesita una validación numérica y una opción como ENABLE_CACHE debe aceptar sólo los valores que el programa reconoce.
En Docker Compose, la configuración puede venir de la shell, de un archivo .env o de una sección environment. La prioridad y la forma de interpolación importan: antes de desplegar, comprobá qué valor final recibe el contenedor y evitá suponer que el archivo local es la única fuente.
Qué no resuelven por sí solas
Una variable de entorno separa la configuración del código, pero no convierte automáticamente un secreto en seguro. Cualquier proceso con permisos para leer ese ambiente puede acceder al valor, y un log, un volcado de diagnóstico o una imagen de contenedor puede exponerlo. El acceso debe limitarse al servicio que lo necesita.
Las plataformas de integración continua ofrecen almacenes de secretos para evitar guardar credenciales en el repositorio. GitHub recomienda usar secretos para datos sensibles y advierte que no deben imprimirse en los logs. Si una clave se filtra, hay que revocarla y reemplazarla; cambiar sólo el nombre de la variable no invalida la credencial anterior.

Qué aporta VisteEsto: Nuestro trabajo en esta nota
VisteEsto organiza la decisión en tres capas: qué configuración separar, cómo leerla según el entorno y qué protección adicional exige un secreto.
Fuentes, actualizaciones y metodología 3 fuentes
Fuentes consultadas
- Fuente primariaNode.js: Environment Variables
- Fuente primariaDocker Docs: Environment variables
- Fuente primariaGitHub Docs: Using secrets
Historial de actualización
- Publicación inicial basada en documentación de Node.js, Docker Compose y GitHub Actions.
Cómo elaboramos esta nota
Definimos la consulta principal “qué es una variable de entorno y para qué sirve”, contrastamos los datos con 3 fuentes —3 primarias— y revisamos contexto, imágenes y posibles vacíos antes de publicar. Conocé nuestra política editorial y de verificación.



