About Me

Followers

My Visual Studio Achievements

Twitter

Tuesday, February 23, 2016

The related between me ad VSOnline was very good. It was all working fine till I wanted to setup continuous integration and delivery to my personal web site www.JoymonOnline.in.

My Requirements

Its was simple.

Free - Need to get the continuous integration in free.

CI & CD - Support for hosted service preferred

Support for running unit tests and integration tests.

Integration with source control - The integration should happen as soon as I check-in

Everything available there in VS Online. 1000+ minutes of build is more than enough for doing CI activities. But still why I had to move to Github + AppVeyor combination?

Issue 1 - No IIS

I was using IIS hosted tests for the web site. In my development machine I can host the project in IIS and run from Visual Studio. The test methods were attributed with [HostType("ASP NET")] to get the tests run by calling the IIS hosted pages. When I tried to run the same tests from VS Online, I could see that I need to write extra scripts to create IIS web app more than that VS Online build machines does not have IIS. The suggestion is to have machine somewhere else on premise or in cloud and deploy the app there and run unit tests.

To be frank, I don't have enough budget to have a machine in the internet for doing integration testing of my web site.

Issue 2 - No admin access

When the build machine is allocated for us from VS Online, our build is not running with admin privileges. So even if we try to host web app with other frameworks such as MVCIntegrationTestFramework, it won't allow.

So which is better? Absolutely going to Github and setting up CI & CD via AppVeyor is the way

Now everything is good. After my check in AppVeyor build the site run unit testing and deploy to staging. After manual testing in staging, if I put a release tag on Github, AppVeyor will deploy to my production www.joymononline.in server which is in GoDaddy.