Skip to content

Deploying Function Apps vs individual Functions

David Ebbo edited this page May 21, 2018 · 3 revisions

In most scenarios, the unit of deployment should be the Function App, and not individual functions. Deploying a Function App is essentially identical to deploying a Web App, and can be done using the following techniques:

  • zipdeploy: simple API that works from any client. See details here.
  • msdeploy (aka WebDeploy): this is what VS typically uses. The drawback is that it only works from Windows clients, so zipdeploy is generally preferred.
  • ARM template: you can use the msdeploy ARM provider to do this. Sample here
  • git: you can deploy either by pushing directly to a git endpoint, or by connecting it to a GitHub (or other) repo.
  • VSTS CI/CD pipeline: see here for more info.

All of these techniques are about deploying the entire content of your Function App at once, which is what you should be doing.

While there is an API which supports deploying individual Functions in a limited way, its use is not recommended (the API exists mostly for interaction with Logic Apps).