When comparing AppVeyor vs Semaphore CI, the Slant community recommends AppVeyor for most people. In the question“What are the best continuous integration tools?” AppVeyor is ranked 4th while Semaphore CI is ranked 10th. The most important reason people chose AppVeyor is:
AppVeyor is free for public GitHub repositories.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Free for open-source projects
AppVeyor is free for public GitHub repositories.
Pro Supports Windows build enviroment
AppVeyor has a build environment for Windows available.
Pro Clear, straight-forward user interface
Well I suggest you check it out for yourself, but what I like most is that it's simple yet effective: no bells and whistles, simple black/grey/light-blue/white color scheme, it's immediately clear where you have to go for each specific task, and build settings pages are like that as well. Getting a 'standard' build running literally took me a minute the first time I used it.
Pro Easy access to build VM
AppVeyor allows the user to login to the actual build VM.
Pro The initial setup is easy
There's practically no setup involved prior to working with AppVeyor: simply sign in, add the project, and start a new build.
Pro Automatic Testing
Whenever a new push is made on GitHub or Bitbucket, Semaphore automatically runs tests on that branch.
Pro Free for open source
Semaphore supports open source and offers unlimited open source projects.
Pro Complete customer support
Semaphore offers all-around customer support for its commercial users.
Pro Free 100 builds per month for private projects
Semaphore offers 100 builds every month for private projects. This package is free for an unlimited time and offers: free & unlimited deploys, unlimited collaborators and running tests in parallel.
Pro GitHub integration
Projects can be imported from GitHub and Semaphore will automatically connect with that repository, once that's done, it will automatically trigger for every code commit.
Pro Docker support
Out of the box Docker support. Additionally, Semaphore can cache Docker images by using included docker-cache commands.
Pro Easy to configure
Semaphore is quite easy to configure and work with. It easily integrates with GitHub and a first build is only a few clicks away.
Semaphore is configured using .yaml configuration files which can be added from the web UI. There are a lot of tutorials out there that help developers configure Semaphore to their preference.
Cons
Con Not free
This is open-source but not free.
Con Configuration is limited
AppVeyor's configuration (which is done from the .yaml file in the root of the project) is unfortunately very limited. The configuration is either tied to a branch or, in other cases, it's global. This limits the developer to a single build process.
However, since you can use arbitrary scripts for building, all those limitations can be overcome. Configuration can also be done from the web UI without a .yaml file.
Con Proprietary with private project for $30/month
Semaphore is not free and nor is it open source. Pricing starts at $29 per month. However, there is a free option for private projects which have less than 100 builds per month and it's free for open source projects.