Azure devops 在部署到Azure应用程序服务之前,我是否必须压缩工件?

Azure devops 在部署到Azure应用程序服务之前,我是否必须压缩工件?,azure-devops,azure-pipelines,azure-pipelines-build-task,Azure Devops,Azure Pipelines,Azure Pipelines Build Task,我目前正在完成一个CI开发管道的创建,并参考了以下文档 这些引用都表明,工件首先被压缩、发布,然后被部署 然而,项目开发人员告诉我,在.NET构建之后,他只是将生成的AngularOutput工件复制/部署到Azure应用程序服务 我用archive task然后publish对它进行了测试,CI管道工作得很好。但是,我也在没有事先存档的情况下直接测试了发布,并将路径更改为\Bundles\AngularOutput,发布步骤成功,并显示了已发布的工件 所以问题是,如果发布工作没

我目前正在完成一个CI开发管道的创建,并参考了以下文档

这些引用都表明,工件首先被压缩、发布,然后被部署

然而,项目开发人员告诉我,在.NET构建之后,他只是将生成的AngularOutput工件复制/部署到Azure应用程序服务

我用archive task然后publish对它进行了测试,CI管道工作得很好。但是,我也在没有事先存档的情况下直接测试了发布,并将路径更改为
\Bundles\AngularOutput
,发布步骤成功,并显示了已发布的工件

所以问题是,如果发布工作没有首先压缩/归档,那么我可以在发布工件后直接部署吗?如果是,需要为
Azure应用程序服务部署任务指定什么:包/文件夹


如果需要/建议执行归档任务,这很好,但这是否意味着Azure App Service deploy将自动提取压缩的工件?

首先,是的,您可以发布工件,而无需将它们作为工件在管道上发布。但是,如果您在管道上发布它们,并且将生成管道和发布管道分开,则可以重新部署,而无需重新构建应用程序

此外,如果需要的话,您也可以下载工件并手动发布它。(例如,出于某些开发/调试目的)

Zip部署
方法

这里用的是什么

创建所选包或文件夹的.zip部署包,并将文件内容部署到Azure中应用程序服务名称功能应用程序的wwwroot文件夹。此选项覆盖wwwroot文件夹中的所有现有内容。有关更多信息,请参阅Azure功能的Zip部署

所以,如果您需要从构建管道部署它,您可以将路径放在zip文件或内容所在的文件夹文件中


,请考虑在各个阶段之间可以分开构建和部署阶段。但是,在这种情况下,您需要将您的工件发布为管道工件。这个管道工件将在上自动下载。

嗨,Krzysztof,我对这句话感到困惑,
没有将它们作为工件发布到管道上
你的意思是:
没有将它们作为工件压缩到管道上
?此外,关于此语句:
或内容所在的文件夹文件。
发布工件的文件夹在管道上。但是idk,它的变量是什么?(正如在我的图像中所示,这表明该工件是产生的,并且我有指向它的箭头)。对于zip,它应该是:
$(System.DefaultWorkingDirectory)/***.zip
,但是对于非zip,变量是什么?不确定是否已经找到上面的所有内容。但是你有。你可以控制下载的位置,或者形成文件夹ypu发布管道工件。所以我只是运行它,跳过存档任务,然后立即发布AngularOutput,所以自从我跳过存档以来,我将Azure App Service deploy文件夹位置改为
$(System.DefaultWorkingDirectory)/**/AngularOutput
,并成功完成。然而,我在日志中发现它很有趣,日志中说:
使用ZIP部署启动包部署。已成功将web包部署到应用程序服务。注意:Run From软件包使wwwroot为只读,因此将文件写入此目录时将收到错误。已成功更新应用程序服务配置详细信息
Cool。如果可以节省构建时间。您可以从软件包
阅读有关运行的更多信息。如果你的回答对你有帮助,你能考虑我的回答吗?