AppVeyor: A simple build server for open source projects
Jürgen Gutsch - 19 November, 2015
For LightCore 2.0 I would like to show the build state inside the GitHub repository. I could use my personal Jenkins build server on a Azure VM, because Jenkins also provides the build state, with a plug-in.
But this seems to be the right moment to play around with AppVeyor:
https://ci.appveyor.com/project/JuergenGutsch/lightcore
AppVeyor is a browser based SaaS (Software as a Service) application in the cloud. AppVeyor provides many useful features within a pretty simple, intuitive and clean UI. GitHub is completely integrated and it is really easy to create a build job for a GitHub project:
The .NET Version Manager (DNVM) is already installed and you only need to figure out which run-time is used by default. I used the build output to see the results of the "dnvm" commands. Finally I choosed the way to install the needed beta-8 with the batch scripts, every time the build starts:
dnvm update-self
dnvm install 1.0.0-beta8 -a x86 -r coreclr -OS win
dnvm alias lccoreclr 1.0.0-beta8 -a x86 -r coreclr -OS win
dnvm install 1.0.0-beta8 -a x86 -r clr -OS win
dnvm alias lcclr 1.0.0-beta8 -a x86 -r clr -OS win
For the builds and the tests I also used the batch command mode with the following lines:
Build:
cd LightCore
dnvm use lccoreclr
dnu restore
dnu build
Test:
cd ..\LightCore.Tests
dnvm use lccoreclr
dnu restore
dnx test
Show the build state
Finally I'm able to copy a small piece of MarkDown code, which I can use in the readme.md file in the GitHub repository to show the current build state:
[![Build status](https://ci.appveyor.com/api/projects/status/et1fpjlmnsrkw3mv?svg=true)](https://ci.appveyor.com/project/JuergenGutsch/lightcore)
As you can see, it is pretty simple to use and handle AppVeyor. I'm sure I'll also use AppVeyor for my other open source project, the "SimpleObjectStore". But I need to move that library to .NET Core first. ;)