nmc*_*a70 3 azure azure-web-app-service azure-devops azure-pipelines azure-function-app
最近,在我们的一些部署中,关于如何自动化功能应用程序和 Web 应用程序的应用程序设置,内部存在一些混乱,并且检查周围似乎有大量令人眼花缭乱的选项,看起来它们在做大致相同的事情,但在不同的地方脚步。
我们的开发人员通常有一个提交到存储库的 appsettings.json 文件,对于他们的测试来说可能看起来像这样......
{
"Logging": {
"LogLevel": {
"Default": "Information",
}
},
"Values": {
"ThingToPointTo": "http://localhost",
}
}
Run Code Online (Sandbox Code Playgroud)
当我们将其带到其他环境(例如 PROD)时,我们将ThingToPointTo更改为“https://productservice”之类的内容
我们一直在使用 Azure DevOps YAML 管道以这种方式部署和更改 AppSettings...
- task: AzureFunctionApp@1
inputs:
azureSubscription: 'OurAzureSubServiceConnection'
appType: functionApp
appName: $(azfuncappname)
package: '$(Pipeline.Workspace)/drop/$(Build.BuildId).zip'
AppSettings: '-Values:ThingToPointTo "https://productionservice"'
Run Code Online (Sandbox Code Playgroud)
我的问题有两个
Values :ThingToPointTo是否正确枚举到正确的设置,或者应该只是ThingToPointTo(省略Values:)?
这是这样做的方法吗?我注意到您可以在部署之前使用 JSON 转换步骤来更改实际文件,并且还有一个名为“Azure 应用服务设置”的任务可以在部署后使用它来执行此操作?
关于这个主题的文章有很多,但似乎没有一篇适合。
提前致谢!
\n\nValues:ThingToPointTo 是否正确枚举到正确的设置,或者应该只是 ThingToPointTo (省略 Values:) ?
\n
这ThingToPointTo \xef\xbc\x9ahttps://productionservice可能是正确的格式。您不需要添加values.
例如:
\n- task: AzureFunctionApp@1\n displayName: \'Azure Function App Deploy: kevin0806\'\n inputs:\n azureSubscription: \'7.28-8.28\'\n appType: functionApp\n appName: kevin\n appSettings: \'-ThingToPointTo http://localhost\'\nRun Code Online (Sandbox Code Playgroud)\n结果:
\n\n\n\n这是这样做的方法吗?我注意到您可以在部署之前使用 JSON 转换步骤来更改实际文件,并且还可以使用名为“Azure 应用服务设置”的任务来在部署后执行此操作?
\n
Azure应用服务设置用于在部署后更改设置。
\n这是模板,你可以参考一下:
\nsteps:\n- task: AzureRmWebAppDeployment@4\n....\n\n- task: AzureAppServiceSettings@1\n displayName: \'Azure App Service Settings: kevin0608\'\n inputs:\n azureSubscription: \'7.28-8.28\'\n appName: kevin0608\n resourceGroupName: Kevintest\n appSettings: |\n [\n {\n "name": "ThingToPointTo",\n "value": "valueabcd",\n "slotSetting": false\n }\n \n ]\nRun Code Online (Sandbox Code Playgroud)\n这是关于Json Transform 的文档,你也可以参考一下。
\n另外,你可以查看这张票:
\n\n\nappsettings.json 中的设置不会显示在 Azure 应用服务配置中,但其中定义的设置会覆盖 appsettings.json 中的值
\n
任务中的 appsettings 配置可以显示在 azure 应用服务配置中,并且可以覆盖 appsettings.json 中的值。
\n更新:
\n上面是没有嵌套变量的情况。
\n如果变量是嵌套值,则可以遵循以下结构:
\n"first" : {\n "second": {\n "third" : "value"\n }\n}\n\n\n\n-first.second.third value1\nRun Code Online (Sandbox Code Playgroud)\n如果您的应用程序服务是linux,您可以使用__替换.
例如- first__second__third value1
注:变量名匹配为大小写
\n| 归档时间: |
|
| 查看次数: |
2300 次 |
| 最近记录: |