如何将带有管道变量的应用程序服务部署为要下载的工件?

How to deploy app service with pipeline variables as an artifact to be downloaded?

我有一个部署到 Azure WebApp 进行测试的应用程序服务(这工作得很好),但由于这最终将部署到本地解决方案,我需要创建一个部署包,我可以从中下载Azure 门户或 DevOps。

到目前为止,我已尝试创建一个发布管道,该管道获取构建工件并使用 AzureBlob 文件复制任务将工件从 DevOps 复制到 Azure 中的存储帐户。我现在遇到的问题是文件复制任务没有将我在变量组中的变量设置到 appsettings.json 文件中(例如 DbConnection 和端口设置)。

创建可从 Azure 门户或 DevOps 下载的部署包(具有更新的 appsettings.json 值)的最佳方法是什么,而无需在 Azure 中创建专门的应用程序服务部署?

这是我目前的步骤,但如前所述,用于设置变量的配置 属性 不适用于 AzureBlob 文件复制: Pipeline Tasks and Variables

How to deploy app service with pipeline variables as an artifact to be downloaded?

您可以尝试使用任务 File transform (Preview) 用变量组中的值更新 appsettings.json 文件:

然后我们可以使用 Azure 文件复制任务将项目从 DevOps 复制到 Azure 中的存储帐户。

注意: Azure 文件复制任务的 Source 应该使用 $(System.DefaultWorkingDirectory) 而不是 select 回购文件: