Need advice about which tool to choose?Ask the StackShare community!
Appveyor vs Jenkins: What are the differences?
What is Appveyor? Continuous Integration and Deployment service for busy Windows developers. AppVeyor aims to give powerful Continuous Integration and Deployment tools to every .NET developer without the hassle of setting up and maintaining their own build server.
What is Jenkins? An extendable open source continuous integration server. In a nutshell Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides over 300 plugins to support building and testing virtually any project.
Appveyor and Jenkins can be primarily classified as "Continuous Integration" tools.
Some of the features offered by Appveyor are:
- Scriptless, repetitive, one-click deployment of build artifacts to multiple environments
- YAML configuration
- Backed by Windows Azure platform
On the other hand, Jenkins provides the following key features:
- Easy installation
- Easy configuration
- Change set support
"Github integration" is the primary reason why developers consider Appveyor over the competitors, whereas "Hosted internally" was stated as the key factor in picking Jenkins.
Jenkins is an open source tool with 13.3K GitHub stars and 5.48K GitHub forks. Here's a link to Jenkins's open source repository on GitHub.
Facebook, Netflix, and Instacart are some of the popular companies that use Jenkins, whereas Appveyor is used by Trustpilot, Snipcart, and Exceptionless. Jenkins has a broader approval, being mentioned in 1774 company stacks & 1526 developers stacks; compared to Appveyor, which is listed in 19 company stacks and 16 developer stacks.
Jenkins is a friend of mine. 😀
There are not much space for Jenkins competitors for now from my point of view. With declarative pipelines now in place, its super easy to maintain them and create new ones(altho I prefer scripted still). Self-hosted, free, huge community makes it the top choice so honestly for me it was an easy pick.
Within our deployment pipeline, we have a need to deploy to multiple customer environments, and manage secrets specifically in a way that integrates well with AWS, Kubernetes Secrets, Terraform and our pipelines ourselves.
Jenkins offered us the ability to choose one of a number of credentials/secrets management approaches, and models secrets as a more dynamic concept that GitHub Actions provided.
Additionally, we are operating Jenkins within our development Kubernetes cluster as a kind of system-wide orchestrator, allowing us to use Kubernetes pods as build agents, avoiding the ongoing direct costs associated with GitHub Actions minutes / per-user pricing. Obviously as a consequence we take on the indirect costs of maintain Jenkins itself, patching it, upgrading etc. However our experience with managing Jenkins via Kubernetes and declarative Jenkins configuration has led us to believe that this cost is small, particularly as the majority of actual building and testing is handled inside docker containers and Kubernetes, alleviating the need for less supported plugins that may make Jenkins administration more difficult.
Jenkins is a pretty flexible, complete tool. Especially I love the possibility to configure jobs as a code with Jenkins pipelines.
CircleCI is well suited for small projects where the main task is to run continuous integration as quickly as possible. Travis CI is recommended primarily for open-source projects that need to be tested in different environments.
And for something a bit larger I prefer to use Jenkins because it is possible to make serious system configuration thereby different plugins. In Jenkins, I can change almost anything. But if you want to start the CI chain as soon as possible, Jenkins may not be the right choice.
Pros of Appveyor
- Github integration20
- Simple, reliable & powerful18
- Hosted11
- YML-based configuration11
- Nuget support10
- Windows support6
- Automatic deployment4
- Free for open source4
- Great product, responsive people, free for open-source3
- Easy PowerShell support2
- Easy handling of secret keys2
- Advanced build workers available1
- Remote Desktop into Build Worker1
Pros of Jenkins
- Hosted internally520
- Free open source463
- Great to build, deploy or launch anything async313
- Tons of integrations243
- Rich set of plugins with good documentation208
- Has support for build pipelines108
- Open source and tons of integrations71
- Easy setup63
- It is open-source61
- Workflow plugin54
- Configuration as code11
- Very powerful tool10
- Many Plugins9
- Git and Maven integration is better8
- Great flexibility8
- Continuous Integration6
- Slack Integration (plugin)6
- Github integration6
- Easy customisation5
- Self-hosted GitLab Integration (plugin)5
- 100% free and open source4
- Docker support4
- Excellent docker integration3
- Fast builds3
- Platform idnependency3
- Pipeline API2
- Customizable2
- Can be run as a Docker container2
- It`w worked2
- Hosted Externally2
- AWS Integration2
- JOBDSL2
- It's Everywhere2
- NodeJS Support1
- PHP Support1
- Ruby/Rails Support1
- Universal controller1
- Easily extendable with seamless integration1
- Build PR Branch Only1
Sign up to add or upvote prosMake informed product decisions
Cons of Appveyor
- Complex user interface1
- Poor documentation1
Cons of Jenkins
- Workarounds needed for basic requirements12
- Groovy with cumbersome syntax7
- Plugins compatibility issues6
- Limited abilities with declarative pipelines6
- Lack of support5
- No YAML syntax4
- Too tied to plugins versions2