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

如何在Azure App Service上部署微前端monorepo并配置release pipeline

仅变更MFE触发对应构建的配置

你可以直接在每个MFE对应的独立流水线yaml中配置路径触发规则,实现只有对应目录下的代码变更时才启动当前流水线构建:

# mfe1-pipeline.yml 示例触发器配置
trigger:
  branches:
    include:
      - main # 替换为你实际的主干分支名称
  paths:
    include:
      - packages/mfe1/* # 仅当前MFE目录变更时才触发构建
    exclude:
      - packages/* # 排除其他目录变更的干扰

每个MFE的构建流水线完成后,统一添加发布构件任务,给每个MFE的构件设置独立可识别的名称,方便后续发布流水线读取:

# 构建任务完成后添加如下配置,以mfe1为例
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.SourcesDirectory)/packages/mfe1/dist' # 替换为你实际的构建产物输出路径
    ArtifactName: 'mfe1-dist'
    publishLocation: 'Container'
Release Pipeline读取各MFE构件的配置

初期项目规模小,推荐用多构件源的方案,配置门槛最低:

  • 进入Release Pipeline的配置页,在「构件」板块依次添加所有MFE的构建流水线作为独立构件源,给每个构件源设置和MFE对应的别名,比如mfe1-src、container-src
  • 每个构件源都打开「持续部署触发」开关,这样任意一个MFE构建完成都会自动触发发布流程
  • 部署阶段中,通过Azure DevOps预定义变量即可访问到对应构件的本地路径,示例路径为:$(System.DefaultWorkingDirectory)/mfe1-src/mfe1-dist,直接读取该路径下的静态文件部署到Azure App Service即可
  • 可以给每个MFE的部署任务添加执行条件,仅当对应MFE的构建触发了本次发布时才执行部署,未变更的MFE部署任务直接跳过,示例条件配置为:eq(variables['RELEASE.TRIGGERINGARTIFACT.ALIAS'], 'mfe1-src')
初期适配建议
  • 提前在Azure App Service中配置好虚拟目录,比如container部署在根路径/,mfe1部署在/mfe1路径,和微前端的路由规则对应即可
  • 所有MFE的构件命名、构件源别名统一用相同规则,避免后续MFE数量变多后出现识别混乱

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 14:48:04