使用IIS

时间:2018-01-09 02:33:11

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

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

enter image description here

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

当我在虚拟机上执行站点2的VSTS代理脚本时,第一个站点的目标进入"离线",并且该站点在站点2部署组中点亮,从站点1部署组。

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

enter image description here

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

2 个答案:

答案 0 :(得分:1)

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

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

    $ ENV:系统驱动器\' vstsagent'

  2. 使用您对代理的偏好的本地路径,例如

    'g:\vstsagentprojX'
    

    这将使项目X部署组的代理安装在g:\ vstsagentprojX中。

    enter image description here

    1. 替换

      - 座席$ env:COMPUTERNAME

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

      --agent chamindac.projx
      

      enter image description here

      1. 然后注册Project X部署组的代理,它将在指定的文件夹中配置,
      2. enter image description here

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

        enter image description here

        按照与其他项目类似的步骤进行操作,并将其PowerShell脚本更改为

        $env:SystemDrive\'vstsagent'
        

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

        'g:\vstsagentprojQ'
        

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

        --agent chamindac.projq
        

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

        enter image description here

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

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

        enter image description here

答案 1 :(得分:0)

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

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

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