When comparing GitLab CI vs AppVeyor, the Slant community recommends GitLab CI for most people. In the question“What are the best continuous integration tools?” GitLab CI is ranked 2nd while AppVeyor is ranked 4th. The most important reason people chose GitLab CI is:
All build setup are stored in .gitlab-ci.yml file, which is versioned and stored in the project. Like Travis do.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro File based configuration
All build setup are stored in .gitlab-ci.yml file, which is versioned and stored in the project. Like Travis do.
Pro Free and open source
All of GitLab CI's code is open source and under the MIT license.
Pro Parallel builds lessen test times
Tests are parallelized across multiple machines in order to reduce test times considerably.
Pro Docker intergration
Good integration with Docker.
Pro Highly scalable
The tests of GitLab CI run parallel to each other and are distributed on different machines. Developers can add as many machines as they want or need, making GitLab CI highly scalable to the development team's needs.
Pro Quick setup for projects hosted on GitLab
Since it uses the GitLab API for setting up hooks, the setup of GitLab CI for projects hosted on GitLab can be done in one click.
Pro Kubernetes integration
Easy to test and deploy on Kubernetes.
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.
Cons
Con Not lightweight
Not a lightweight solution, demanding and memory hungry.
Con Cost
Larger projects will need upgraded version
Con Security risks
Con Windows not supported
No Windows support, but it's possible to use a Bitnami stack.
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.