如何在 ADO 管道中配置任务 AzureFunctionApp 的 ENV 值?

How can I configure ENV values from task AzureFunctionApp in ADO pipeline?

如何在 ADO 管道中配置任务 AzureFunctionApp 的 ENV 值?基本上,当我有一个与 Terraform 分开创建的 FunctionApp 时,在上传 .jar 文件的任务中,我如何在推送中包含一些环境变量?

这可能吗?

我试过了,但是没有用,而且出现编译错误。

  - task: AzureFunctionApp@1
    inputs:
      azureSubscription: ${{ parameters.serviceConnection }}
      appType: 'functionApp'
      appName: 'my-api-$(environment)'
      package: '$(Pipeline.Workspace)/my-api/my-api-1.0.0'
      runtimeStack: 'JAVA|11'
      configurationStrings:
        - TEST: "what"

这个我也试过了,能编译运行,我也不行。环境变量在部署后未显示在应用程序设置中。

  - task: AzureFunctionApp@1
    inputs:
      azureSubscription: ${{ parameters.serviceConnection }}
      appType: 'functionApp'
      appName: 'my-api-$(environment)'
      package: '$(Pipeline.Workspace)/my-api/my-api-1.0.0'
      runtimeStack: 'JAVA|11'
      appSettings: "-TEST what"

根据 Azure Function App Task Documentation,您需要的 yaml 密钥是 appSettings

试试这个方法:

  - task: AzureFunctionApp@1
    inputs:
      azureSubscription: ${{ parameters.serviceConnection }}
      appType: 'functionApp'
      appName: 'my-api-$(environment)'
      package: '$(Pipeline.Workspace)/my-api/my-api-1.0.0'
      runtimeStack: 'JAVA|11'
      appSettings: '-MY_ENV_VARIABLE test'

应用程序设置应遵循语法 -key 值。包含空格的值应该用双引号引起来。