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

新手求助:如何通过Azure DevOps部署ASP.NET MVC到客户自有服务器

部署ASP.NET MVC到客户自有服务器的Azure DevOps CI/CD方案

一、前期准备:配置部署目标与代理

  • 确认客户服务器基础环境:必须安装对应版本的*.NET Framework*、IIS,开放80/443端口及Azure DevOps代理通信端口
  • 部署Azure DevOps私有代理:
    • 在Azure DevOps组织的「项目设置->代理池」中创建专属代理池(例如命名为Customer-OnPrem-Pool)
    • 在客户服务器上下载代理安装包,按向导完成配置并加入上述专属池
    • 验证代理状态:在代理池页面确认代理处于「在线」状态
  • 提前收集部署信息:IIS站点名称、物理路径、服务器管理员账号(需具备IIS操作权限)

二、CI流水线:构建ASP.NET MVC应用

  • 创建Azure DevOps流水线,选择ASP.NET MVC模板或手动配置任务
  • 核心任务步骤:
    1. 获取源代码:添加Checkout任务,拉取项目代码仓库
    2. 构建应用并生成部署包:添加VSBuild任务,配置参数:
      • 解决方案路径:指定项目.sln文件路径
      • MSBuild参数:
        /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)"
        
      • 此参数会将应用打包为.zip格式的Web部署包,输出到构建工件目录
    3. 发布构建工件:添加PublishBuildArtifacts任务,将生成的Web包发布到Azure DevOps工件库,供CD流水线调用

三、CD流水线:部署到客户自有服务器

  • 创建发布流水线,关联CI流水线生成的工件
  • 设置部署阶段的代理池为之前创建的Customer-OnPrem-Pool(确保代理运行在客户服务器上)
  • 核心部署任务:
    1. 下载工件:添加DownloadBuildArtifacts任务,拉取CI生成的Web部署包
    2. 部署到IIS:添加IIS Web App Deploy任务,配置关键参数:
      • 网站名称:客户服务器上的IIS站点名称
      • 物理路径:站点对应的本地物理路径
      • 部署包路径:指定下载到的.zip包路径
      • 认证方式:选择「Windows认证」,使用Azure DevOps保密变量存储服务器账号密码
    3. 可选:重启IIS站点:添加PowerShell任务,执行命令:
      Restart-WebSite -Name "你的站点名称"
      
      确保应用部署后立即生效

四、关键注意事项

  • 安全管控:所有敏感信息(服务器账号、密码等)必须存入Azure DevOps的变量组并设置为「保密」状态,禁止明文写入流水线配置
  • 环境验证:先在客户的测试环境验证流水线流程,确认构建、部署、应用运行正常后再推进到生产环境
  • 代理维护:告知客户需保持代理服务持续运行,服务器重启时需确保代理自动启动
  • 版本控制:使用YAML格式编写流水线配置并纳入源代码管理,便于后续修改和追溯

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 21:23:10