A question that pops up occasionally is how to setup your Azure Functions DevOps flow when you’re using C# underneath. Today’s post will be a brief one to run you through this process. If you should prefer a video on this… That exists too! Curtosiy of the app service product group.

Quick Howto

Let’s take a look at the build process. We have (at least, as this flow did not do any testing => “Shame on me!”) three steps in the build process ;

Restore the nuget packages

Build the solution (and create a single zip file)

Publish the artifact

So let’s take a look at one of my own builds… First I kick off with installing NuGet on my build agent (should it not already be present).

The bold path is the instruction where it’ll generate the build package. Oddly enough, at a given time in the past, I had some issues with that part, and I created my own archive step ;

Though I’m pretty sure it could be phased out… Nevertheless, know this is a possibility too!

And once done, we’ll publish the artifact ;

What does a sample build look like now?

If we dive into the “Archive” step, then we see that a zip file has been created at “d:\a\1\a\”, containing our much needed functions files ;

Though, as mentioned, the build solution has a similar one in the “d:\a\1\1\package” directory. So feel free to use that one and omit the archive step for your build!

So what about the release? That’s the “easy” part… 😉 It bears down to an app service deployment.

Which is triggered by the artifact we published.

Closing Thoughts

When you are working with a compiled version of functions, then be sure to look into the VSTS integration. It’s a bit of cursing when setting it up, though I hope this posts help in smoothing that process. You will, however, enjoy the compiled version! From experience, I can say that the performance improvement is more than nice. 😉

Up in the Clouds

Views are my own

The content of this blog will, at all times, portray my own views. At no time will this reflect the views of the organization I am linked to. Neither can the information provided be used as support statement.