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

VSTS环境下独立项目的单元与集成测试CI/CD管线处理咨询

针对你的ASP.NET Core VSTS CI/CD测试与流程需求的解决方案

先直接拆解并回答你的核心疑问,再一步步给你落地配置指导:

1. 两个独立项目放入同一远程仓库是否可行?

完全可行,甚至非常推荐这种做法。把Web应用和测试项目放在同一个Git仓库里,能让VSTS的CI/CD管线更轻松地关联两者,避免跨仓库引用的复杂配置。当然如果坚持分开仓库也能实现,但同一仓库是适配你当前场景的最优方案。

2. 配置VSTS CI/CD管线实现测试阻断流程

结合你的「Feature分支→PR→Develop→CI/CD」流程,给你梳理具体配置步骤:

第一步:设置PR触发与分支策略(从源头把控质量)

在VSTS仓库的分支策略中找到Develop分支:

  • 开启「需要成功构建」选项,关联你即将创建的CI管线
  • 这样当你从Feature分支向Develop提交PR时,VSTS会自动触发CI管线跑测试,只有测试全过的PR才能被合并,直接阻断有问题的代码进入主分支

第二步:创建CI管线,整合构建与测试逻辑

新建一个CI管线(选ASP.NET Core模板就能快速起步),调整以下关键步骤:

  • 构建Web应用:添加.NET Core任务,依次选择restore、build动作,指定你的Web项目路径(比如**/YourWebApp.csproj);如果需要生成部署包,再添加publish动作
  • 运行测试项目:添加.NET Core Test任务,指定测试项目的路径(比如**/YourTestProject.csproj),确保任务的控制选项里「Continue on error」设为false(默认就是关闭的)。这样只要有一个测试失败,这个任务就会标记失败,整个CI管线自动终止,不会执行后续步骤
  • (可选)测试结果可视化:添加「Publish Test Results」任务,把测试报告上传到VSTS,方便你快速定位失败的测试用例

第三步:配置CD管线,仅在CI成功后触发

只有当CI管线全流程通过(测试全部合格),才触发CD管线部署Web应用:

  • 新建CD管线,选择你的部署目标(比如Azure App Service、本地服务器等)
  • 在管线的触发设置中,开启「持续部署触发」,关联刚才创建的CI管线,设置仅当CI管线成功时才触发CD

3. 适配你的开发流程细节

你的本地开发流程可以和上述配置无缝衔接:

  1. 本地基于Develop创建Feature分支开发,提交代码后推送到VSTS远程仓库
  2. 提交PR到Develop分支,VSTS自动触发CI管线跑构建和测试
  3. 测试全过的话,PR满足合并条件,你可以合并到Develop分支;同时CI成功后自动触发CD管线部署
  4. 若测试失败,CI管线直接终止,PR会被标记为不可合并,你修复代码后重新推送即可

这样就完全实现了你想要的「测试失败阻断后续流程」的核心需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:38:54