【问题标题】:Automated Deployement of ASP.Net MVC Website In IIS server with a Continuous Deployment使用持续部署在 IIS 服务器中自动部署 ASP.Net MVC 网站
【发布时间】:2016-12-02 11:11:15
【问题描述】:

我正在尝试从 Visual Studio Team Services Build 部署 Web 应用程序。我正在使用 Visual Studio Build 任务来构建项目。然后,使用命令行任务执行生成的 release.deploy.cmd 部署到 IIS 服务器中。在执行时,我遇到了以下问题:

E"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:package='C:\CIDeploy\webapp.zip' -dest:auto,includeAcls="False" -verb:同步 -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"C:\CIDeploy\webapp.SetParameters.xml"

2016-12-02T10:29:18.2576272Z 警告:BACKUP_FAILED - 跳过备份,因为它由于未知原因而失败。┬á有关详细信息,请联系您的服务器管理员。 2016-12-02T10:29:18.2586324Z 跳过备份,因为它由于以下错误而失败'System.UnauthorizedAccessException:文件名:redirection.config

错误:读取 IIS 配置文件“MACHINE/REDIRECTION”时出错。执行操作的身份是“TASKAGENT5-0017\buildguest”。

2016-12-02T10:29:18.4396280Z 错误:文件名:\?\C:\Windows\system32\inetsrv\config\redirection.config 2016-12-02T10:29:18.4396280Z 错误:由于权限不足,无法读取配置文件

提前致谢。

【问题讨论】:

  • 您是否以管理员身份运行?
  • 是的,我已经以管理员用户帐户登录我的计算机。
  • @Krishnajoshi 如果您使用 WinRM-IIS Web 应用部署任务/步骤来部署您的项目,结果是什么?
  • @starain-MSFT 我也是新手,但根据文档,此步骤将通过 WinRm 服务连接在目标服务器上运行的 IIS 服务器中创建一个网站。我在使用 HTTPS 时遇到以下问题 验证指定的计算机名称是否有效,该计算机是否可通过网络访问,并且 WinRM 服务的防火墙例外已启用并允许从该计算机进行访问。使用 HTTP 访问时被拒绝。
  • @Krishnajoshi 你的意思是要使用 HTTP 协议部署应用程序吗?

标签: asp.net-mvc iis msbuild continuous-integration azure-devops


【解决方案1】:

使用 WinRM-IIS Web 应用部署任务/步骤来部署您的 Web 项目。

  1. 安装IIS Web App Deployment Using WinRM扩展
  2. 将 WinRM-IIS Web 应用程序管理步骤/任务添加到您的构建/发布定义中
  3. 指定必要的参数(例如管理员登录名、密码)

另一方面,市场上有others extension可以部署网络项目。

更新:

详细步骤:

  1. 下载或创建 ConfigureWinRM.ps1 文件 (source code)
  2. 转到目标服务器 (IIS)
  3. 以管理员身份启动 Windows PowerShell
  4. 转到(CD 命令)包含 ConfigureWinRM.ps1 文件的路径
  5. 运行 .\ConfigureWinRM.ps1 [带域的机器名称] https
  6. 打开 Microsoft 管理控制台 (MMC)(在运行命令中键入 mmc (win+R))
  7. 文件=>添加/删除管理单元=>选择证书=>添加=>确定
  8. 扩展证书(本地计算机)=>个人=>证书
  9. 根据颁发给选择证书文件(步骤5)
  10. 右键=>所有任务=>导出导出证书文件
  11. 将导出的文件复制到您的构建服务器
  12. 双击该文件=>安装证书=>本地机器=>将所有证书放在以下存储中=>受信任的根证书颁发机构
  13. 添加 Visual Studio 构建步骤/任务(MSBuild 参数:/p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageLocation="$(build.artifactstagingdirectory)\WebGeneralDemo.zip")
  14. 添加 Windows 机器文件复制步骤/任务
  15. 添加 WinRM-IIS Web 应用程序管理步骤/任务
  16. 添加 WinRM-IIS Web 应用部署步骤/任务

顺便说一句:您可以将部署任务放在发布中(请参阅那篇文章)

【讨论】:

    【解决方案2】:

    您不能在托管代理上进行本地部署:您必须部署到另一台机器上。最简单的方法是使用具有管理权限的目标计算机上运行的 VSTS 资源管理和代理(我建议以非管理员身份运行它并在 IIS 中授予用户部署权限)。

    【讨论】:

      猜你喜欢
      • 2012-10-30
      • 1970-01-01
      • 2011-02-21
      • 2016-05-27
      • 1970-01-01
      • 2011-10-06
      • 1970-01-01
      • 2021-12-09
      • 1970-01-01
      相关资源
      最近更新 更多