首页 文章

VSTS:部署到基于Azure的VM

提问于
浏览
0

我已经尝试过使用Windows文件复制和IIS部署任务但是understand this isn't a very good solution for security reasons,所以想知道最好的任务是使机器上的构建/发布代理将人工制品复制到基于Azure的VM并在本地部署到其IIS安装?

2 回答

  • 1

    我建议您强烈重新考虑不将您的应用程序部署到构建代理程序 . 由于缺少DLL或文件,这将使查找问题变得非常困难,因为构建服务器具有所有内容 . 我建议创建另一个VM来部署或利用Azure的PaaS用于Web应用程序 .

    尽管如此,因为您在同一个VM上本地工作,您可以简单地利用 Copy Files 任务将文件移动到他们需要的位置 . 要"deploy"该应用程序,您只需将网站的输出复制到IIS目录即可 .

    VSTS Copy Files task

    另一种选择是创建一个PowerShell脚本,该脚本可以设置,配置应用程序并将其部署到本地计算机 . 在这种情况下,您可以简单地利用PowerShell任务 .

    VSTS PowerShell task

  • 1

    源代码(构建定义中的 Get sources 部分)将在构建期间自动下载到构建代理,因此您无需通过Windows文件复制任务将文件复制到该机器,简单的工作流程是:

    • 添加NuGet任务以恢复包

    • 添加Visual Studio构建任务(MSBuild参数: /p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageLocation="$(build.artifactstagingdirectory)\\web.zip" /P:PackageTempRootDir=""

    • 添加WinRM-IIS Web App部署任务:(Web部署包: $(Build.ArtifactStagingDirectory)\web.zip

    正如virusstorm所说,您可以通过“复制文件”任务将文件复制到该计算机上的其他路径 .

    另一方面,默认情况下,如果您正在使用发行版,则工件将下载到目标计算机,如果部署计算机与构建代理程序计算机不同,则可以考虑Deployment groups .

相关问题