首页 > 解决方案 > 发布 Azure Functions 和文件转换

问题描述

我有很多 Azure Functions 项目要部署在 Azure 上。我为他们设置了构建和管道。例如,这是 Azure 函数的一个版本

Azure DevOps 发布

变量下,我为环境定义了所有变量(一个用于开发,一个用于阶段,一个用于生产)。

变量

在 Azure 上部署 Azure Functions 只需一步。我想为local.settings.json环境添加/替换正确的设置。我无法找到如何配置它。

部署 Azure 函数应用

在其他项目中,如果我使用Azure App Service Deploy,则有一个部分File Transforms & Variable Substitution Options

文件转换

如何在 Azure Functions 的发布中做同样的事情?什么是正确的策略或最佳实践?

更新和解决方案

我认为这很简单。我认为这是解决方案。在Application and Configuration Settings下的App 设置中,我必须使用该行中的 指定每个变量及其值。...

在此处输入图像描述

在此处输入图像描述

我可以在此字段中输入或复制。语法是

-variableName "$(variablename)"

我使用引号是因为如果值中有任何空格(例如在您拥有的连接字符串中Initial Catalog)DevOps 会引发错误。对于数组,我仍在使用:.

标签: azureazure-functionsazure-pipelines-release-pipeline

解决方案


另一种方法是使用文件转换任务将 local.settings.json 文件中的变量替换为管道变量。请参阅此处了解更多信息。

使用文件转换任务,您不必在部署 Azure Functions 任务的应用设置中指定每个变量及其值。

您可以在部署 Azure Functions 任务之前添加文件转换任务。KeyVaultSettings.ClientId然后在您的管道变量中定义变量(例如)。

在此处输入图像描述

然后在文件转换任务中设置包或文件夹文件格式目标文件。见下文:

在此处输入图像描述


推荐阅读