As part of an existing Azure Functions app that has some HTTP Functions that generate Excel files and return them as a byte array, I wanted to add an integration tests web project that when run would download the resulting Excel files. This Azure Functions app is automatically deployed from a GitHub repo.
Kudu and deployment scripts
When using GitHub to deploy any Azure App Service app (including Azure Function apps), Kudu chooses which deployment script to use based on your project type. As it states in the Customizing deployments article in the Kudu wiki, if you happen to have a web project in the repository, then it chooses to build and deploy that project. Continue reading
Azure Web Apps have a great feature: continuous deployment from different kinds of repositories: Visual Studio Online, OneDrive, a local Git repo, GitHub, Bitbucket, Dropbox or an external repo. You also have built-in alert notifications, but there’s no built-in notifications for deployments, and that’s where Kudu web hooks come to the rescue.
But first, what is Kudu?
Project Kudu is an open source project hosted in GitHub that is the engine behind Git/Mercurial deployments, WebJobs, and various other features in Azure Web Apps. And, it can also run outside of Azure.
What are Web Hooks?
A Web Hook is an HTTP callback: an HTTP POST that occurs when something happens; a simple event-notification via HTTP POST. Web Hooks are a way to receive valuable information when it happens, rather than continually polling for that data and receiving nothing valuable most of the time. Continue reading