在部署方面使用托管代理和私有代理之间的区别是什么?
如果我错了,请纠正我 - 私人代理是私有托管的服务,并不断检查是否有新的构建触发了它已配置的构建定义要做,然后从VSTS中提取源代码并在该机器上本地调用MSBuild。
如果要在该构建定义中执行PowerShell后期脚本,它也会运行 - 可以处理实际部署等等。
也许有更多方法可以处理部署,但是托管代理将如何工作?
为简单起见,我们假设只要触发了新的构建,就应该将ASP.NET应用程序部署到IIS。
答案 0 :(得分:4)
应该使用VSTS构建来构建您的软件包,并且应该使用VSTS版本管理来进行部署。也可以通过构建执行部署任务,但更有控制和推荐的方法是在VSTS中使用发布管理进行部署。
托管代理
VSTS有四个托管代理
这些托管代理可用于对可从代理公开访问的服务器进行构建和部署。假设您要部署到Azure Web应用程序,则可以使用VSTS版本管理中的托管代理来运行所需的部署脚本或任务。
但是这些托管代理商没有“本地网络”的“视线”。例如,公司防火墙后面的计算机不会公开公开。在这种情况下,托管代理无法部署到公司防火墙后面的计算机上,因为代理无法看到您的计算机。
私人代理
您可以在公司域中为VSTS设置代理,该代理可以通过Web访问VSTS,因此它可以侦听任何部署作业。防火墙内的这个私人代理具有防火墙内部机器的“视线”,因此代理可以对它们进行部署。
您可能需要私有代理进行构建的其他方案是,您需要某些特定的SDK可用性,而这在托管代理上是不可用的。假设您正在使用基于SharePoint 2013的应用程序。要构建它,构建服务器需要安装SharePoint 2013,而托管代理中不提供。您必须使用私有代理来设置SharePoint 2013,以允许基于SharePoint 2013构建应用程序。
有关详细信息,请参阅here。
部署小组
您可以使用部署组对公司域防火墙内的计算机进行部署,因为您要将私有代理部署到需要部署的每台计算机上。部署组的解释为here。