AppVeyor is a relatively new cloud service which provides:
- Phoenix build server
- Scalable build server
- Private NuGet feeds
- Deployment to Azure/Amazone/private cloud/etc much like Octopus Deploy.
- Platform independence, through configuration that is kept in your own repository
Im currently using it to get rid of yesterdays technologies such as
TeamCity /
CruiseControl .Net which binds our company to their platform and require loads of maintenance. I writing a new post upon this subject, so stay tuned, it should be out in a couple of days :).
AppVeyor will lift the majority of the burden there is by having an on-premises build server. You still have to configure an image every once in a while for
AppVeyor if you need complete control and the default image is not good enough, but thats about it and then you have a scalable build server environment consisting of beautiful
Phoenix servers.
The
Phoenix servers will help you ensure that you know what is actually going on when stuff stops working. Unlike their counterpart
Snowflake servers which over time becomes a horrible mess and unrealiable.
Try installing a new version of Visual Studio across 9 build servers, manually (if you lack provisioning as is common for MS) or try setting up SSH keys for
TeamCity manually across the same 9 servers because you have a new colleague. Or hey, maybe try rebooting your build server, our old
TeamCity server have failed to start on 2 occasions within the last 6 month and it was a simple reboot, no updates or anything.
See stuff like that sucks and ends up in tedious, manual work.
With services such as
AppVeyor you don't have the same amount of issues since you are using
Phoenix servers and when it comes the initial setup
AppVeyor handles all ssh/keys, branch builds, etc. for you as long as you just supply a GitHub account. Now since its a cloud service that means it has a team of employers dedicated to keeping their service running and the money flowing or else they are out of a job.
This is a good thing since it means that they're main concern is keeping the service running and evolving. This allows you to focus developing business application instead of maintaining a build server.
Thats a major win for most enterprices.
The biggest power of
AppVeyor is its use of yml. Yml is a simple text format with which you can define a build. For ex:
os: Windows Server 2012
services:
- mssql2012sp1
assembly_info:
patch: true
file: AssemblyInfo.*
assembly_version: "1.0.1.{build}"
assembly_file_version: "{version}"
assembly_informational_version: "{version}"
platform: Any CPU
configuration: Debug
before_build:
- nuget restore
build:
project: MySolution.sln
publish_nuget: true
test:
assemblies:
- MyTests.dll
artifacts:
- path: MyApplication\*.nupkg
In 21 lines I have described a complete build, run tests, package and publish setup. This is a text file i stick into my git repository and I'm done. No more configuring needed, AppVeyor does the rest.
Versioned build configuration, means next to no hard dependency on the service, nice :).
Its simple, its ingenious.
It will empowered the developers to do the stuff that one guy normally takes ages to configure in
TeamCity.
Finally setting up a build takes less than 5 minutes and everyone can do it. :)
With this feature
AppVeyor completely blows away other services and tools for the enterprise, such as:
There are of course PaaS's such as
AppHarbor or Azure for MS, but they have their limitations and are aimed at also hosting the applications.
AppVeyor offers a platform independent service which saves the enterprise loads of manual, tedious and error prone work. A beautiful, simple, liberating first step into the advantages of the cloud.
If you are working in one of those companies who have a privately maintained build server which tends to occupy a least one person every day, then you should seriously consider using a cloud service such as
AppVeyor and free some vital resources at your company.
AppVeyor is still new, but have many things in the pipeline for the year to come that will also make it a serious competitor to
Octopus Deploy. I just hope they don't get swiped up by MS or some other giant company who will let their service decline.
Locally maintained build servers, is about to become a thing of the past. :)