Variables de entorno
Ajustes con nombre que un programa lee desde fuera de su código, como dónde está su base.
Las variables de entorno son pares de nombre y valor que el sistema operativo le pasa a cada programa cuando arranca, como DATABASE_URL=postgres://… o LOG_LEVEL=debug. El programa las lee en lugar de tener esos valores escritos en su código. Son una idea vieja de Unix; una que seguro usaste sin darte cuenta es PATH, que le dice a la computadora dónde buscar los comandos.
Su función principal hoy es que el mismo código corra en lugares distintos. En la laptop de un developer, DATABASE_URL apunta a una base chica local; en producción apunta a la real. El código no cambia, cambia el entorno que lo rodea. Esta separación entre código y configuración es uno de los principios de la conocida guía Twelve-Factor App para construir software en la nube.
También son la forma habitual de pasarles secretos a los programas, como una API key o la contraseña de una base de datos, sin meterlos en el repositorio. Durante el desarrollo, muchos proyectos los guardan en un archivo llamado .env que una librería carga al arrancar; ese archivo tiene que estar en .gitignore para que nunca llegue a Git. En la nube, servicios como AWS Lambda, los contenedores y los pipelines de CI/CD te dejan definir variables de entorno y, para valores sensibles, completarlas desde un gestor de secretos.
Para quedarse
- La configuración vive fuera del código, así que un mismo build corre en cualquier lado.
- Cada entorno, como local, staging o producción, define sus propios valores.
- Es la forma común de pasar secretos sin commitearlos.
- Los archivos
.envno van en Git.