VSTS:部署到基于Azure的VM

VSTS:部署到基于Azure的VM,azure,azure-devops,azure-pipelines-release-pipeline,Azure,Azure Devops,Azure Pipelines Release Pipeline,我正在使用VST建立一个测试管道,现在我的构建使用Azure VM作为构建代理,我还想部署到这台机器上。 我尝试过使用Windows文件复制和IIS部署任务,但是,我想知道最好的任务是让计算机上的构建/发布代理将人工制品复制到基于Azure的VM并在本地部署到其IIS安装吗?我建议您重新考虑不要将应用程序部署到构建代理。这将使查找由于缺少DLL或文件而导致的问题变得极其困难,因为生成服务器拥有所有内容。我建议创建另一个VM来部署,或者利用Azure的PaaS来部署web应用程序 综上所述,由于您

我正在使用VST建立一个测试管道,现在我的构建使用Azure VM作为构建代理,我还想部署到这台机器上。
我尝试过使用Windows文件复制和IIS部署任务,但是,我想知道最好的任务是让计算机上的构建/发布代理将人工制品复制到基于Azure的VM并在本地部署到其IIS安装吗?

我建议您重新考虑不要将应用程序部署到构建代理。这将使查找由于缺少DLL或文件而导致的问题变得极其困难,因为生成服务器拥有所有内容。我建议创建另一个VM来部署,或者利用Azure的PaaS来部署web应用程序

综上所述,由于您在同一个VM上本地工作,您可以简单地利用
复制文件
任务将文件移动到需要的位置。要“部署”应用程序,只需将网站的输出复制到IIS目录

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


我强烈建议您重新考虑不要将应用程序部署到构建代理。这将使查找由于缺少DLL或文件而导致的问题变得极其困难,因为生成服务器拥有所有内容。我建议创建另一个VM来部署,或者利用Azure的PaaS来部署web应用程序

综上所述,由于您在同一个VM上本地工作,您可以简单地利用
复制文件
任务将文件移动到需要的位置。要“部署”应用程序,只需将网站的输出复制到IIS目录

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

在生成过程中,源(生成定义中的获取源部分)将自动下载到生成代理,因此您无需通过Windows文件复制任务将文件复制到该计算机,简单的工作流是:

  • 添加NuGet任务以还原包
  • 添加Visual Studio生成任务(MSBuild参数:
    /p:skipinValidConfiguration=true/p:DeployOnBuild=true/p:WebPublishMethod=Package/p:PackageLocation=“$(Build.artifactStaginDirectory)\\web.zip”/p:PackageTempRootDir=“
  • 添加WinRM IIS Web应用部署任务:(Web部署包:
    $(Build.ArtifactStagingDirectory)\Web.zip
  • 正如virusstorm所说,您可以通过“复制文件”任务将文件复制到该机器上的其他路径

    另一方面,默认情况下,如果使用释放,工件将被下载到目标机器,您可以考虑部署机器是否与构建代理机器不同。

    < P>源(<强>获取源< /强>节在生成定义中)将在构建期间自动下载到构建代理,因此,您不需要通过Windows文件复制任务将文件复制到该计算机,简单的工作流程是:

  • 添加NuGet任务以还原包
  • 添加Visual Studio生成任务(MSBuild参数:
    /p:skipinValidConfiguration=true/p:DeployOnBuild=true/p:WebPublishMethod=Package/p:PackageLocation=“$(Build.artifactStaginDirectory)\\web.zip”/p:PackageTempRootDir=“
  • 添加WinRM IIS Web应用部署任务:(Web部署包:
    $(Build.ArtifactStagingDirectory)\Web.zip
  • 正如virusstorm所说,您可以通过“复制文件”任务将文件复制到该机器上的其他路径

    另一方面,默认情况下,如果使用释放,工件将被下载到目标机器上,您可以考虑部署机器是否与构建代理机器不同。