IMPORTANTE: Si tu variable de entorno contiene un secreto (como un token) no sigas esta guía, sino más bien esta otra: Guía: Cómo administrar los secretos de la aplicación.
- Abre el archivo hosting/deploy_env/task-definition.json.
- Allí, cada contenedor tiene su sección bajo containerDefinitions.
- Dentro de la definición del contenedor existen dos modos de definir variables de entorno:
- La sección de secrets define las variables de entorno cuyos valores son tomados de la configuración previamente preparada por Sperantus en AWS ParameterStore
-
La sección environment define las variables de entorno a presentar al contenedor. Por ejemplo:
"environment": [ { "name": "IS_PRODUCTION", "value": "${IS_PRODUCTION}" }, { "name": "SAMPLE_VAR", "value": "HARDCODED_VALUE" } ]
- En caso de que quieras definir una variable que sea distinta en staging y producción, defínela primero en los archivos hosting/deploy_env/staging.env y hosting/deploy_env/production.env y luego úsala como placeholder en el archivo hosting/deploy_env/task-definition.json. Por ejemplo, arriba el valor "${IS_PRODUCTION}" tomaría su valor de la variable IS_PRODUCTION que debería ser definida en staging.env o production.env.
-
Una vez que hagas los cambios necesarios puedes probar que el archivo JSON que se genera a raíz de esa plantilla sea correcto corriendo lo siguiente (desde la raíz de tu proyecto) para probar la configuración de producción:
hosting/hosting aws_ecs_task_definition productionY enseguida probar la de staging:
hosting/hosting aws_ecs_task_definition staging