May 13, 2018

GitHub to NuGet with AppVeyor

AppVeyor Dashboard

Good morning,

As I have written in my last post, I now have a number of .NET projects on GitHub. As all of these are libraries, I wanted to make them easily available through NuGet (not least because I myself use them regularly and want them accessible at all times). Enter the world of continuous integration (CI) services.

There are two mayor CI service providers with great GitHub integration: Travis-CI and AppVeyor. Being a .NET developer, there is a serious downside to Travis, though: their servers run Linux and support only Mono and .NET Core. AppVeyor, however, provides Windows servers with all the .NET framework one might ever need, free for open source projects. Happy days!

Integration is easy enough: Select your GitHub project, add the NuGet deployment provider and enter your NuGet API key. For my projects, I also create a release branch and set AppVeyor up to build all branches, but push NuGet packages only for the release branch. Also, I found it necessary for some .NET Standard projects to run "dotnet restore" as pre build script in order to update all dependencies.

All in all, I can highly recommend you give AppVeyor a try - especially if you are a .NET developer.