es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo hacer que Cloud Foundry lea desde un archivo .env específico en una aplicación de React?

Tengo una aplicación de React y tiene archivos .env.development, .env.test, .env.production. Solo tienen la variable REACTAPPPROFILE configurada en cada uno de ellos, y sus valores están configurados como dev, test y prod respectivamente.

Despliego mi aplicación usando el comando npm run build y la subo a Cloud Foundry usando el comando cf push, e imprimo las variables process.env.REACTAPPPROFILE y process.env.NODE_ENV en la pantalla.

Solo tengo un espacio en el administrador de aplicaciones de vmw llamado ‘dev’. Quiero que este espacio lea el archivo .env.test, pero está leyendo desde el archivo .env.production (probablemente porque ejecuté el comando npm run build).

Mis preguntas son:

1-¿Cómo puedo hacer que el espacio ‘dev’ en el administrador de aplicaciones lea mi archivo .env.development o .env.test?

2- ¿Debería crear un espacio diferente en el administrador de aplicaciones para cada entorno? Si es así, ¿puedo definir diferentes archivos manifest.yml como manifest-test.yml, manifest-prod.yml? Actualmente solo tengo un archivo manifest.yml y su contenido es como el siguiente:

“`

applications:
– name: myreactapp
instances: 1
memory: 64M
path: build/
timeout: 120
routes:
– route: myreactapp.apps.xxx.xxx
buildpack: staticfile_buildpack

“`

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Respuestas:

    1. Para que el espacio “dev” en el administrador de aplicaciones lea del archivo .env.development o .env.test, es necesario especificar la variable de entorno al empujar la aplicación a Cloud Foundry. Puede utilizar el siguiente comando:
      cf push myreactapp -f manifest.yml -b staticfile_buildpack -p build/ -c "node server.js" --no-start --vars-file .env.development
      

      Este comando leerá la variable de entorno del archivo .env.development y empujará la aplicación a Cloud Foundry sin iniciarla. Luego, puede iniciar la aplicación ejecutando el siguiente comando:

      cf start myreactapp
      

      Esto iniciará la aplicación con la variable de entorno especificada en el archivo .env.development.

    2. Se recomienda crear diferentes espacios en el administrador de aplicaciones para cada entorno. Esto le ayudará a aislar los entornos y evitar conflictos entre ellos. Para definir diferentes archivos manifest.yml, puede utilizar la opción -f al empujar la aplicación a Cloud Foundry. Por ejemplo, para empujar la aplicación para el entorno de prueba, puede utilizar el siguiente comando:

      cf push -f manifest-test.yml
      

      Esto empujará la aplicación utilizando el archivo manifest-test.yml. De manera similar, puede crear un archivo manifest-prod.yml para el entorno de producción.

Comments are closed.