我使用带有Angular的VS2017“ASP.NET核心Web应用程序”创建了一个示例项目。
然后在VSTS中我使用构建模板构建:ASP.NET Core(构建面向.NET Core的ASP.NET核心Web应用程序)。这成功构建并在工件部分中将构建保存在.zip文件中。
我想将它部署到比例集。因此,对于Release部分,我使用了“Azure Virtual Machine Scale Set Deployment”模板。在填写时,有一个“部署脚本字段”字段是强制性的。不确定此脚本的用途以及如何在其中进行配置以及从何处获取脚本。
答案 0 :(得分:1)
<强> TL; DR:强>
此脚本在您准备的虚拟机上部署部署包的内容。对于Angular ASP.NET Core应用程序,这意味着您必须安装IIS,.NET Core Windows Server Hosting Bundle并将您的应用程序复制到IIS。
额外信息
Azure虚拟机扩展集部署模板创建了一个包含两个任务的环境:
这两个任务都有一堆需要配置的字段。发布管理允许您将重要字段链接到您的流程。这意味着这些设置都在环境下分组,无需完成任务即可轻松设置。
如果您查看以下屏幕截图,您会看到所选部署脚本字段下方有一行:此字段链接到“构建不可变机器图像”中的1个设置
如果查看构建不可变机器映像任务的documentation,您会看到部署脚本的以下内容:
因此,这是将您的应用程序自动部署到VM的脚本。对于Angular ASP.NET Core应用程序,这意味着您必须install IIS, install the NET Core Windows Server Hosting bundle and copy your app to IIS。
我建议您先创建一个空的Windows Server 2016虚拟机,然后尝试创建一个准备虚拟机并安装应用的脚本。完成后,您可以在VSTS的构建映像任务中重用此脚本,以自动化VM和映像创建,并将该映像用于您的缩放集。
您的VSTS Build会生成一个工件。在您的方案中,您已经在Web应用程序中发布了zip文件。您可以将Publish Build Artifacts任务配置为还发布要在发布期间使用的任何部署脚本。这些脚本应存储在版本控制中。整个工件(包括您的zip文件和您添加的任何部署脚本)将用作“版本定义”的输入。该zip文件包含您的Web应用程序,作为您需要部署到IIS的Web Deploy包。这篇documentation解释了如何安装Web Deploy并使用它来部署您的应用程序。