You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为VSTS CI的npm任务注入环境变量?Azure Node应用环境变量方案

我来给你几个实用的解决方案,都是我们在Azure DevOps(原VSTS)和Azure App Service环境里常用的:

解决方案1:在Azure DevOps的npm任务中直接配置环境变量

你完全不用在命令前加前缀,Azure DevOps的npm任务本身就支持直接设置环境变量:

  • 打开你的CI流水线,找到对应的npm任务
  • 滚动到“环境变量”部分(如果看不到,点击“高级”选项展开)
  • 添加键值对:键填API_URL,值填api.example.com
  • 保存流水线后,执行npm run build时,Node应用就能通过process.env.API_URL读取到这个变量了
解决方案2:CI中动态生成.env文件(适合依赖dotenv的项目)

如果你的项目依赖dotenv库加载.env文件,那可以在CI流程里临时生成这个文件,完全不用提交到代码仓库:

  1. 在仓库中添加一个.env.example模板文件,内容类似:
    API_URL=
    # 其他需要的变量占位符
    OTHER_CONFIG=
    
  2. 在CI流水线里,在npm任务之前添加一个脚本任务(选择Bash或PowerShell都可以):
    • Bash脚本示例:
      # 复制模板生成.env文件
      cp .env.example .env
      # 替换模板中的占位符为实际值
      sed -i 's/API_URL=/API_URL=api.example.com/' .env
      
    • PowerShell脚本示例:
      # 复制模板生成.env文件
      Copy-Item .env.example .env
      # 添加或替换环境变量值
      (Get-Content .env) -replace 'API_URL=', 'API_URL=api.example.com' | Set-Content .env
      
  3. 这样当npm run build执行时,dotenv会自动加载这个临时生成的.env文件,变量就能正常被应用读取了
解决方案3:Azure App Service原生配置(托管Node应用的最优方案)

如果你的应用最终部署到Azure App Service,这是最推荐的方案——完全不需要依赖.env文件:

  • 登录Azure门户,找到你的App Service实例
  • 进入「配置」→「应用程序设置」页面
  • 添加需要的环境变量(比如键为API_URL,值为api.example.com)
  • 保存设置后,这些配置会自动作为环境变量注入到Node应用中,不管是运行时还是构建阶段(如果在App Service上执行构建的话)
  • 本地开发时你依然可以用.env文件调试,CI构建时可以通过Azure DevOps的变量组传递变量,部署后直接复用App Service的配置,既安全又不用维护多套变量配置

内容的提问来源于stack exchange,提问作者Reece Long

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:18:43