Sample ARM template for Azure Function deployment (linux) using multistage YAML (MSY)

I am not sure why you want ARM template to deploy the azure function, the DevOps pipeline itself can handle this operation.

steps:
- task: AzureFunctionApp@1
  displayName: 'Azure Function App Deploy'
  inputs:
    azureSubscription: 'xxx'
    appType: functionAppLinux
    appName: xxx
    deployToSlotOrASE: true
    resourceGroupName: xxx
    runtimeStack: 'xxx'

But if you need ARM template, you can refer to this official document:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-infrastructure-as-code#customizing-a-deployment


Yes, it supports zip deployment using multi stage YAML deployment for Linux environment.

Multi-Stage Pipelines using YAML for Continuous Delivery – Azure DevOps

The above reference has all the requirements and configuration steps of deploying any code to the Azure Function App.

steps:  
- task:  AzureFunctionApp@1  
- displayName:  Azure  Function  App  Deploy
inputs:  
    azureSubscription:  $(azureSubscription)
    appName:  samplefunctionapp
    package: $(System.DefaultWorkingDirectory)/**/*.zip

This Microsoft documentation provides a good example of deploying the azure functions in linux environment through Multi Stage YAML. Also please check this reference.