Asp.net mvc 使用IIS将两个不同的ASP.NET应用程序部署到同一Azure VM

Asp.net mvc 使用IIS将两个不同的ASP.NET应用程序部署到同一Azure VM,asp.net-mvc,iis,azure-devops,azure-virtual-machine,azure-deployment,Asp.net Mvc,Iis,Azure Devops,Azure Virtual Machine,Azure Deployment,网站1:我在Visual Studio online中有一个单独的ASP.NET MVC站点,正在构建,然后从Visual Studio online发布到该虚拟机 网站2:我决定在Visual Studio online中创建另一个解决方案/项目,并在同一个虚拟机上运行它(通过持续集成等)。作为为该项目设置部署组的一部分,我想添加与项目1相同的虚拟机(我相信我不能在项目之间共享部署组) 当我在虚拟机上为site 2执行VSTS代理脚本时,第一个网站的目标“脱机”,site 2部署组中的机器点

网站1:我在Visual Studio online中有一个单独的ASP.NET MVC站点,正在构建,然后从Visual Studio online发布到该虚拟机

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

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

似乎只有一个VSTS代理可以设置为接收网站部署:


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

可以在一台机器上为VST部署多个代理。在设置部署组时,您可以使用以下步骤在azure VM或任何单机中实现这一点

  • 将目标注册PowerShell脚本复制到记事本。然后更换

    $env:SystemDrive'vstsagent'

  • 例如,使用您首选的代理的本地路径

    'g:\vstsagentprojX'
    
    --agent chamindac.projx
    
    这将使代理安装在g:\vstsagentprojX中的project X部署组安装程序中

  • 替换

    --代理$env:COMPUTERNAME

  • 例如,在具有项目特定名称的脚本中

    'g:\vstsagentprojX'
    
    --agent chamindac.projx
    

  • 然后为Project X部署组注册代理,并将其配置到指定的文件夹中
  • 并且具有唯一的服务名称,因为您为代理提供了特定于项目的名称

    遵循与其他项目类似的步骤,并更改其PowerShell脚本以使

    $env:SystemDrive\'vstsagent'
    
    替换为本地文件夹的项目特定路径

    'g:\vstsagentprojQ'
    
    然后将--agent$env:COMPUTERNAME更改为特定于项目的名称,例如

    --agent chamindac.projq
    
    然后运行脚本为第二个项目创建部署组代理

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

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


    可以在一台机器上为VST部署多个代理。在设置部署组时,您可以使用以下步骤在azure VM或任何单机中实现这一点

  • 将目标注册PowerShell脚本复制到记事本。然后更换

    $env:SystemDrive'vstsagent'

  • 例如,使用您首选的代理的本地路径

    'g:\vstsagentprojX'
    
    --agent chamindac.projx
    
    这将使代理安装在g:\vstsagentprojX中的project X部署组安装程序中

  • 替换

    --代理$env:COMPUTERNAME

  • 例如,在具有项目特定名称的脚本中

    'g:\vstsagentprojX'
    
    --agent chamindac.projx
    

  • 然后为Project X部署组注册代理,并将其配置到指定的文件夹中
  • 并且具有唯一的服务名称,因为您为代理提供了特定于项目的名称

    遵循与其他项目类似的步骤,并更改其PowerShell脚本以使

    $env:SystemDrive\'vstsagent'
    
    替换为本地文件夹的项目特定路径

    'g:\vstsagentprojQ'
    
    然后将--agent$env:COMPUTERNAME更改为特定于项目的名称,例如

    --agent chamindac.projq
    
    然后运行脚本为第二个项目创建部署组代理

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

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


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

    另一种方法是您可以手动配置它:

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

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

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

    另一种方法是您可以手动配置它:

  • 下载代理(与构建/发布相同)代理
    https://{your_account}.visualstudio.com/_admin/_AgentPool
  • 将zip文件解压缩到文件夹中(例如
    c:\myagent
  • 以管理员身份运行命令行,并将上下文更改为(
    cd c:\myagent
    )该文件夹(步骤2)
  • 运行
    \config.cmd–deploymentgroup
    命令,并在请求时指定参数
  • 另一方面,您可以使用与网站1相同的代理