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

如何编辑并重新运行VSTS中失败的EF Migrations构建阶段?

如何在VSTS(Azure DevOps)中保留前序构建产物,仅重新运行EF Migrations阶段

当然可以做到!你不用每次都重新跑前5个耗时6分钟的阶段,只要利用Azure DevOps的构件管理和阶段重跑功能就能解决问题,具体步骤如下:

  • 第一步:给前5个阶段的产物打包发布
    在第5个阶段(发布符号路径)的最后,添加一个「发布构件(Publish Build Artifacts)」任务:

    • 把要发布的路径设置为你的项目输出目录(比如$(Build.ArtifactStagingDirectory)或者$(SolutionDir)/YourProject/bin/Release,根据你的实际结构调整)
    • 给这个构件起个好记的名字,比如MigrationRequiredFiles
    • 发布位置选择「Azure Pipelines」,这样构件会存在于当前构建的历史记录里
  • 第二步:让第6阶段依赖并下载构件
    在第6个EF Migrations阶段的最开头,添加一个「下载构件(Download Build Artifacts)」任务:

    • 选择刚才发布的MigrationRequiredFiles构件
    • 设置下载路径为当前工作目录(或者你需要的路径,确保EF命令能找到对应的DLL)
      同时确认第6阶段的依赖关系是「只有当前5个阶段全部成功才运行」(默认就是这个逻辑,不用额外改,但可以检查一下阶段的依赖设置)
  • 第三步:单独重新运行第6阶段
    当第6阶段失败后,你不用重新跑整个构建:

    1. 进入构建历史页面,找到那次前5阶段成功、第6阶段失败的构建记录
    2. 点击「重新运行」按钮,在弹出的选项里选择「选择要运行的阶段」
    3. 只勾选第6个EF Migrations阶段,确认运行就行

这样系统会自动从之前的构建里下载你发布的构件(也就是前5阶段生成的DLL等文件),然后单独执行第6阶段的命令,完全不用重新跑前面的步骤。

另外提个小建议:如果你的EF Migrations命令需要特定的配置文件或者环境变量,记得要么把配置文件也包含在发布的构件里,要么在第6阶段单独配置这些变量,避免因为缺少配置导致新的失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:12:58