Solución:
Aquí hay un tutorial sobre cómo almacenar de forma segura env vars en la configuración de su compilación en la nube (activadores) e importarlas a su aplicación.
Básicamente hay tres pasos:
-
Agregue sus variables env a la sección ‘variables’ en una de sus configuraciones de activación de compilación
Captura de pantalla de dónde agregar variables en los activadores de compilación
Por convención, las variables establecidas en el disparador de compilación deben comenzar con un guión bajo (_)
-
Configurar
cloudbuild.yaml
(en el segundo paso del ejemplo de código) para leer las variables de su activador de compilación, establecerlas como env vars y escribir todas las env vars en un archivo .env localAgregar
couldbuild.yaml
(abajo) al directorio raíz de su proyecto
steps:
- name: node:10.15.1
entrypoint: npm
args: ["install"]
- name: node:10.15.1
entrypoint: npm
args: ["run", "create-env"]
env:
- 'MY_SECRET_KEY=${_MY_SECRET_KEY}'
- name: "gcr.io/cloud-builders/gcloud"
args: ["app", "deploy"]
timeout: "1600s"
Agregar create-env
guión para package.json
"scripts": {
"create-env": "printenv > .env"
},
-
Lea env vars desde .env a su aplicación (config.js)
Instalar el paquete dotenv
npm i dotenv -S
Agrega un
config.js
a tu aplicación
// Import all env vars from .env file
require('dotenv').config()
export const MY_SECRET_KEY = process.env.MY_SECRET_KEY
console.log(MY_SECRET_KEY) // => Hello
¡Hecho! Ahora puede implementar su aplicación activando la compilación en la nube y su aplicación tendrá acceso a las variables env.