【问题标题】:Deploy two different ASP.NET applications to the same Azure VM with IIS使用 IIS 将两个不同的 ASP.NET 应用程序部署到同一个 Azure VM
【发布时间】:2018-06-18 01:05:42
【问题描述】:

WEBSITE 1:我在 Visual Studio Online 中有一个 ASP.NET MVC 站点,正在构建,然后从 Visual Studio Online 发布到该虚拟机。

网站 2:我决定在 Visual Studio 中在线创建另一个解决方案/项目并在同一虚拟机上运行它(使用持续集成等)。作为为该项目设置部署组的一部分,我想为项目 1 添加相同的虚拟机(我相信我无法在项目之间共享部署组)。

当我在虚拟机上执行站点 2 的 VSTS 代理脚本时,第一个网站的目标“离线”,机器在 SITE 2 部署组中亮起,从 SITE 1 部署组中消失。

似乎只能设置一个 VSTS 代理来接收网站部署:

问题:如何使用 IIS 设置同一虚拟机以接收同一 VS Online 帐户中两个不同网站的部署?有没有办法在 Azure 虚拟机上设置多个 VSTS 代理?

【问题讨论】:

    标签: asp.net-mvc iis azure-devops azure-virtual-machine azure-deployment


    【解决方案1】:

    可以在一台机器上部署多个 VSTS 代理。设置部署组时,您可以使用以下步骤在 azure VM 或任何单台计算机中实现此目的。

    1. 将目标注册 PowerShell 脚本复制到记事本。然后替换

      $env:SystemDrive\'vstsagent'

    例如您偏好代理的本地路径

    'g:\vstsagentprojX'
    

    这将在 g:\vstsagentprojX 中为项目 X 部署组设置安装代理。

    1. 替换

      --agent $env:COMPUTERNAME

    例如在带有项目特定名称的脚本中

    --agent chamindac.projx
    

    1. 然后为Project X部署组注册代理,它将在指定文件夹中配置,

    并且具有唯一的服务名称,因为您为代理提供了项目特定名称。

    按照与其他项目类似的步骤,将其 PowerShell 脚本更改为具有

    $env:SystemDrive\'vstsagent'
    

    替换为本地文件夹的项目特定路径

    'g:\vstsagentprojQ'
    

    然后将 --agent $env:COMPUTERNAME 更改为项目特定名称,例如

    --agent chamindac.projq
    

    然后运行脚本为第二个项目创建部署组代理。

    这将在同一台机器上创建两个具有唯一名称的代理服务。

    您应该在两个在线团队项目部署组中有两个目标。

    【讨论】:

      【解决方案2】:

      正如 ChamindaC 所说,您可以更新脚本以设置新的部署代理。

      另一种方式是你可以手动配置:

      1. 下载代理(同构建/发布)代理https://{your_account}.visualstudio.com/_admin/_AgentPool
      2. 将 zip 文件解压缩到一个文件夹(例如 c:\myagent
      3. 以管理员身份运行命令行并将上下文更改为 (cd c:\myagent) 该文件夹(步骤 2)
      4. 运行.\config.cmd –deploymentgroup 命令并在询问时指定参数

      另一方面,您可以使用与 WEBSITE 1 相同的代理。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多