从Visual Studio Team Services将Gulp Build文件夹部署到Azure

时间:2016-07-12 14:18:57

标签: 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.DefaultWorkingDirectory)/{built name}

非常感谢任何帮助

4 个答案:

答案 0 :(得分:2)

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

enter image description here

VSO / VSTS版本有一个Archive files可用的任务来实现相同的目标。

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

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

答案 1 :(得分:1)

您还可以使用此扩展程序创建ZIP文件。我将它用于与你类似的情况:

https://marketplace.visualstudio.com/items?itemName=trackyon.trackyonadvantage

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

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

Command Line任务

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

显然,将$(Build.StagingDirectory)\Zip替换为您要压缩的文件夹,将$(Build.StagingDirectory)\$(BuildConfiguration)Deploy.zip替换为您希望文件命名的内容。