繁体   English   中英

如何使用Azure DevOps在Nure应用服务上部署Nupkg文件

[英]How to deploy nupkg files on azure app service using azure devOps

我在构建管道中生成了一些nupkg文件,打算将其推送到Azure应用服务。 我正在使用仅支持zip文件的Azure App Service部署任务

我需要一种机制来在azure应用程序服务上推送nupkg文件并解压缩它们。 我不确定是否可以使用Post Deployment Action部分。

更新以解释我的用例:

在我的构建管道中,有一些dll和配置文件(yaml,json)捆绑为nupkg文件。 我想使用Azure App Service Deploy Task将这些文件推送到Azure App Service Deploy Task 将这些文件推送到应用程序服务后,我想解压缩这些文件以提取dll和yaml文件,并执行一些任务,例如移动它们并运行一些powershell命令。

我不确定您要做什么,但是通常不利用nuget包文件来部署Azure应用程序服务。

假设您使用的是.NET Core,请查看以下文档: https : //docs.microsoft.com/zh-cn/azure/devops/pipelines/ecosystems/dotnet-core? view = azure- devops

特别是,请查看“将工件发布到Azure管道”部分,因为这将生成将在发布管道中使用的zip文件。

通常,您需要在将所有文件推送到Azure App Service之前进行所有文件操作。 通常,DevOps不支持在服务器本身上更改文件。

您可以选择通过Kudu API和PowerShell自动执行这些文件更改,然后通过发布过程运行脚本。 这是我发现的文章: https : //blog.kloud.com.au/2016/08/30/interacting-with-azure-web-apps-virtual-file-system-using-powershell-and-the-kudu- api /

我在Angular应用程序中有一个类似的场景,需要我操纵构建输出。 这些操作包括运行一个脚本,该脚本更改JSON文件中的环境变量,但是此脚本在发布过程中运行, 然后再将文件部署到Azure App Service。 这可能是您的选择。

另一个选择是使用Docker映像。 一年前,我遇到了一个场景,其中我开发了一个需要Chromium的解决方案。 它在我的机器上运行良好,但是当我进行部署时,我无法在App Service上安装Chromium。 可以理解,在涉及环境依赖性方面,应用程序服务受到限制。

我的解决方法是使用Docker映像。 您可以在Docker映像中执行几乎所有您想做的事情。 拥有映像后,您的应用程序服务即可运行Docker映像。 这是一个入门的文档: https : //docs.microsoft.com/zh-cn/learn/modules/deploy-run-container-app-service/

希望这会有所帮助,@ IkeMtz

请参阅以下步骤,以在发布过程中使用Nuget并运行powershell脚本。 在部署文件之前,您需要确保正确配置了文件,这就是发布管道的目的。

  1. 创建一个新版本
  2. 创建一个空工作
  3. 添加下载包任务-使用提要和包进行配置(此下载和提取)
  4. 添加Powershell任务-配置并运行powerhsell
  5. 然后,您可以在此处运行powershell脚本。
  6. “添加存档文件”任务可压缩要部署的文件
  7. 添加部署Azure应用服务并指向该zip文件

我希望这有帮助,

乔恩

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM