从VisualStudioTeamServices将Gulp构建文件夹部署到Azure

从VisualStudioTeamServices将Gulp构建文件夹部署到Azure,azure,azure-devops,release-management,azure-pipelines,Azure,Azure Devops,Release Management,Azure Pipelines,我刚开始在我的一个项目中使用VSO。我已经创建了构建定义,构建是成功的。当我试图为构建的版本创建发布定义时,抛出了错误,失败了 System.Management.Automation.RuntimeException: No files were found to deploy with search pattern C:\a\858bddd5b\**\*.zip 它需要.zip文件。因为我需要部署由gulp build创建的分布式文件夹,所以我将Web部署包路径指定为 $(System.D

我刚开始在我的一个项目中使用VSO。我已经创建了构建定义,构建是成功的。当我试图为构建的版本创建发布定义时,抛出了错误,失败了

System.Management.Automation.RuntimeException: No files were found to deploy with search pattern C:\a\858bddd5b\**\*.zip
它需要.zip文件。因为我需要部署由gulp build创建的分布式文件夹,所以我将Web部署包路径指定为

$(System.DefaultWorkingDirectory)/{built name}

非常感谢您的帮助

您应该添加一个构建步骤,为gulp步骤的输出文件夹创建一个扩展名为.zip的存档。您的步骤应该是

VSO/VSTS build有一个任务可用于
归档文件
,以实现相同的功能

或者,如果标准存档文件步骤不适用于您,您可以使用powershell步骤。powershell命令如下所示

[io.compression.zipfile]::CreateFromDirectory($Source, $Destination) 
  • 源应该是您希望部署的gulp输出中的所有文件/文件夹
  • 此处的目的地应与webdeploy/WebApp部署步骤的输入相对应

您应该添加一个构建步骤,为gulp步骤的输出文件夹创建一个扩展名为.zip的存档。您的步骤应该是

VSO/VSTS build有一个任务可用于
归档文件
,以实现相同的功能

或者,如果标准存档文件步骤不适用于您,您可以使用powershell步骤。powershell命令如下所示

[io.compression.zipfile]::CreateFromDirectory($Source, $Destination) 
  • 源应该是您希望部署的gulp输出中的所有文件/文件夹
  • 此处的目的地应与webdeploy/WebApp部署步骤的输入相对应

您也可以使用此扩展名创建ZIP文件。我用它来处理与你类似的情况:


您也可以使用此扩展名创建ZIP文件。我用它来处理与你类似的情况:

“Azure Web App部署”任务需要Web部署zip包。您可以再添加一个任务来为构建输出创建一个zip包,如其他两个答案所示,或者在“gulpfile.js”中添加一些代码来在gulp构建期间生成一个zip包,然后将zip包发布到工件

如果不想为生成输出创建zip包,则可以使用任务通过将生成部署到Azure Web App。

“Azure Web App部署”任务需要Web部署zip包。您可以再添加一个任务来为构建输出创建一个zip包,如其他两个答案所示,或者在“gulpfile.js”中添加一些代码来在gulp构建期间生成一个zip包,然后将zip包发布到工件


如果不想为生成输出创建zip包,则可以使用任务通过将生成部署到Azure Web App。

您可以使用PowerShell创建zip文件,前提是您正在Windows代理上运行

命令行
任务

命令:
powershell
参数:
-Command“&{Add Type-assembly'system.io.compression.filesystem';[io.compression.zipfile]::CreateFromDirectory('$(Build.stagindirectory)\Zip','$(Build.stagindirectory)\$(BuildConfiguration)Deploy.Zip')}”


显然,将
$(Build.StagingDirectory)\Zip
替换为您想要压缩的任何文件夹,将
$(Build.StagingDirectory)\$(BuildConfiguration)Deploy.Zip
替换为您想要命名的任何文件。

您可以使用PowerShell创建一个Zip文件,假设您正在Windows代理上运行

命令行
任务

命令:
powershell
参数:
-Command“&{Add Type-assembly'system.io.compression.filesystem';[io.compression.zipfile]::CreateFromDirectory('$(Build.stagindirectory)\Zip','$(Build.stagindirectory)\$(BuildConfiguration)Deploy.Zip')}”


显然,将
$(Build.StagingDirectory)\Zip
替换为您想要压缩的任何文件夹,将
$(Build.StagingDirectory)\$(BuildConfiguration)Deploy.Zip替换为您想要命名的任何文件。

在Azure部署任务中,我已经给出了存档文件路径($(Build.ArtifactStagingDirectory)/$(Build.BuildId.Zip)作为Web部署包路径,但它不起作用。下载工件失败时引发错误:Microsoft.TeamFoundation.Release.ArtifactRepository.Definition.ArtifactDownloadException:buildIn Azure部署任务中没有可用的工件,我已将存档文件路径($(Build.artifactStaginDirectory)/$(Build.BuildId.zip)指定为Web部署包路径,但它不起作用。下载工件失败时引发错误:Microsoft.TeamFoundation.Release.ArtifactRepository.Definition.ArtifactDownloadException:生成中没有可用的工件