# Qué es una variable de entorno y cómo usarla

> Una variable de entorno es un valor que el proceso recibe desde su ambiente de ejecución. Sirve para separar configuración, credenciales y código sin confundir una cosa con otra.

- URL canónica: https://visteesto.com/nota/que-es-variable-entorno-como-usarla
- Autor: [Martin Rodriguez](https://visteesto.com/autor/martin-rodriguez)
- Publicado: 2026-09-23T15:00:00.000Z
- Actualizado: 2026-09-23T15:00:00.000Z
- Sección: Tecnología
- Tema: variables-entorno-programacion
- Idioma: es
- Consulta principal: qué es una variable de entorno y para qué sirve

## Resumen verificable

- Node.js expone las variables de entorno de un proceso mediante process.env y documenta archivos .env para declarar valores. ([evidencia](https://nodejs.org/api/environment_variables.html))
- Las variables de entorno representan pares de nombre y valor que una aplicación puede leer al ejecutarse. ([evidencia](https://nodejs.org/api/environment_variables.html))
- Docker Compose puede interpolar variables desde la shell y archivos .env, además de recibir valores en la configuración del servicio. ([evidencia](https://docs.docker.com/compose/how-tos/environment-variables/))
- GitHub recomienda usar secretos para guardar información sensible en los flujos de trabajo y evitar exponerla en los logs. ([evidencia](https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions))

## Aporte editorial de VisteEsto

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.

## 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.

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.

## Fuentes consultadas

- Fuente primaria: [Node.js: Environment Variables](https://nodejs.org/api/environment_variables.html)
- Fuente primaria: [Docker Docs: Environment variables](https://docs.docker.com/compose/how-tos/environment-variables/)
- Fuente primaria: [GitHub Docs: Using secrets](https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions)

## Imágenes y licencias

- Aplicación que recibe una variable de entorno con una clave protegida. Autor: VisteEsto. Licencia: [VisteEsto editorial](https://visteesto.com/terminos). [Origen](https://visteesto.com/nota/que-es-variable-entorno-como-usarla).
- Configuración de una aplicación separada del código fuente. Autor: VisteEsto. Licencia: [VisteEsto editorial](https://visteesto.com/terminos). [Origen](https://visteesto.com/nota/que-es-variable-entorno-como-usarla).
- Variables DEV y PROD con una credencial protegida. Autor: VisteEsto. Licencia: [VisteEsto editorial](https://visteesto.com/terminos). [Origen](https://visteesto.com/nota/que-es-variable-entorno-como-usarla).

## Cómo citar

Citar título, autor, fecha de publicación o actualización y la URL canónica. Las afirmaciones centrales incluyen su evidencia directa arriba. Esta versión Markdown es una representación accesible; la nota HTML canónica es la fuente editorial de referencia.
