Can appveyor meet my requirements?

rajindersingh's Avatar

rajindersingh

29 Dec, 2014 10:03 PM

I am starting a new project soon. I need a CI and continuous deployment solution.
Application will be hosted on Azure platform.
We will have these components:
1. Azure website
2. Azure mobile service
3. Web role
4. Worker role
5. Azure SQL Database

I want to be able to do builds on each check in and schedule builds at night.
I want to execute unit tests
I want to run code inspections using a variety of tools like Ndepend, NCover, style cop, fx cop
I want to run Document generation tool like deoxygen

I plan on using Azure resource manager(ARM) Powershell coders to deploy my code.
Currently ARM does not support cloud services and azure mobile services
Azure mobile service does not even have Powershell support so I may have to look at azure command line tools which are based on node js. Only way to deploy azure mobile service is to store code in github/bit bucket and use a web hook. Can appveyor somehow enable this type of deployment.
Our code is stored in visual studio online.
I want to send build failure notifications using SMS, push notification and emails.

It will be great if somebody with similar requirements or the support team can tell me if apveyor can meet my needs.

I don't expect every requirement to be met on day 1 but I want to understand extensibility aspects before I select my CI tool.

Thanks

  1. Support Staff 1 Posted by Feodor Fitsner on 31 Dec, 2014 06:17 AM

    Feodor Fitsner's Avatar

    Hi,

    Thanks for your interest in AppVeyor!

    Building website, Azure Cloud Service on every checking - yes. Azure mobile service - haven't tried that, but don't think there are any blockers. Scheduled builds - yes, you specify crontab expression.

    Executing unit tests - AV has built-in support for MSTest, xUnit, NUnit, MSpec. Easily add your own test runner.

    StyleCop - yes (http://help.appveyor.com/discussions/kb/9-support-for-stylecop-repo...), FxCop - yes (http://help.appveyor.com/discussions/kb/5-code-analysis-fxcop-support) and also you can "bring your own" like NDepend or NCover.

    Document generation - yes, provided there is a command-line tool for that.

    Running PowerShell for deployment - yes, though I'd recommend built-in deployment provider for pushing Azure Cloud Service. Not sure about mobile services - will take a look.

    VSO is supported - both Git and TFVC repositories.

    Build notifications by email are supported and the number of other ways (http://www.appveyor.com/docs/notifications). To do SMS or push notification you can write a simple "gateway" service (and host it at, say, Azure Web Sites for free) accepting webhook.

    Hope that helps. Let me know if you have any other questions.

  2. 2 Posted by rajindersingh on 01 Jan, 2015 01:02 AM

    rajindersingh's Avatar

    Feodor,

    Thanks for responding to my questions.

    Azure Mobile Service is a bit tricky. I had a working Azure Mobile Service sample in bit bucket. I opened a trial account at appveyor and tried to build it. My build failed. Most of the errors had to do with missing assemblies. It seemed to me that Azure mobile services assemblies were not present in the build machine. I am sure there is a easy fix for that. I am using Azure SDK 2.5.

    Deployment of Azure Mobile service to Azure platform is a bit tricky. Here is how it can be done with a webhook. I am sharing with hope that it can be done via AppVeyor.

    https://social.msdn.microsoft.com/Forums/azure/en-US/f565de7f-0af4-4088-84ee-131eee94d120/deploying-to-your-mobile-service-from-a-private-githubbitbucket-repository?forum=azuremobile

    I will use Azure Resource Manager to deploy the entire application. It is the best way to deploy Azure applications going forward. I will not have to write a long PowerShell script. I will just have a custom template for my application with a parameter file for each environment. So a single PowerShell command will be able to deploy my entire application to one or more data centers. It does rollback as well. ARM is in preview right now but supporting it will be great. Right now mobile services and cloud services are not supported by Azure Resource Manager but support will come in the next few months.

    I worked in Azure org at MSFT for a long time. You have created a great product.
    Keep up the good work. As I learn more I will certainly spread the word.

  3. Support Staff 3 Posted by Feodor Fitsner on 02 Jan, 2015 02:11 AM

    Feodor Fitsner's Avatar

    Thanks for kind words!

    Can I look at that Azure Mobile Service sample (if its repo is public, of course)?

    Regarding that way of deploying mobile service described on forums - I'm looking at this article http://azure.microsoft.com/en-us/documentation/articles/mobile-serv... and it seems it could be published with Web Deploy (connection details look very similar to Azure Websites)?

    Azure Resource Manager looks interesting - will take a look.

  4. 4 Posted by rajindersingh on 02 Jan, 2015 08:51 PM

    rajindersingh's Avatar

    If you give me your email address I can grant you access to my Azure mobile service in my bit bucket private repo.

    web deploy does look promising to me. Initially Azure Mobile Service only supported Node.JS backend. It began supporting .Net backend last summer. This is when it may have started supporting Web Deploy for deployments. AMS is just a web api so it makes sense that web deploy should work.

    Let me know how your evaluation of ARM goes. All new services will only support ARM and will not even bother with supporting the existing service management PowerShell.

    Thanks

  5. Support Staff 5 Posted by Feodor Fitsner on 02 Jan, 2015 08:54 PM

    Feodor Fitsner's Avatar

    Oh, I would better create my own example rather than peeking into your repo, thanks.

  6. 6 Posted by rajindersingh on 02 Jan, 2015 10:48 PM

    rajindersingh's Avatar

    Just create a generic azure mobile service. There was no custom code in my mobile service. You need to choose C# backend.

    Thanks

    Raj

  7. Ilya Finkelshteyn closed this discussion on 25 Aug, 2018 01:53 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac