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.