Estoy usando el servicio de aplicaciones web estáticas de Azure y la canalización de Azure DevOps para implementar una aplicación de NodeJS. La canalización y la construcción van bien. Ahora tengo que definir una URL para el backend usando variables env, pero sin éxito.
trigger: - develop jobs: - job: JobTest pool: vmImage: ubuntu-latest variables: - name: BACKEND_URL value: https://<some_url> - name: System.Debug value: true steps: - task: AzureStaticWebApp@0 inputs: app_location: "/" api_location: "" output_location: "dist" env: BACKEND_URL: $(BACKEND_URL) azure_static_web_apps_api_token: $(deployment_token) - bash: echo $(BACKEND_URL) - bash: echo $PWDy del código NodeJS, en el archivo "/app/src/models/config.ts" tengo esto:
exportación constante BACKEND_URL = proceso.env.BACKEND_URL
Si cambio process.env.BACKEND_URL con la URL real, funcionará.
Además, desde Azure Pipeline, esta tarea usa el sistema de compilación https://github.com/microsoft/Oryx .
La pregunta es ¿cómo puedo usar env de la canalización en el código?
Para ayudar a mejorar este problema, he agregado una respuesta:
las variables env no se pueden usar en Azure Pipeline con Azure Static Web App. Y aquí hay un ticket que informa el problema .
La aplicación web estática no puede usar variables de back-end.
Podría considerar usar el archivo .env para configurar sus variables de entorno. Formato como " name=value "(sin comillas).
E instale dotenv en el archivo en el que desea invocar las variables de entorno, acceda a ellas mediante process.env .
Eche un vistazo a este artículo: Configuración de variables de entorno de Node.js utilizando el archivo env
Y mi otra respuesta: https://stackoverflow.com/a/67052708/13586071