Need advice about which tool to choose?Ask the StackShare community!
Appveyor vs Jenkins X: What are the differences?
Deployment Model: One key difference between Appveyor and Jenkins X is their deployment model. Appveyor is a continuous integration and deployment tool mainly focused on Windows-based projects, while Jenkins X is designed specifically for cloud-native continuous integration and delivery on Kubernetes.
User Interface: Another difference is in the user interface. Appveyor provides a web-based interface for managing and monitoring CI/CD pipelines, while Jenkins X is more command-line driven and provides a dashboard for managing pipelines and applications.
Pipeline Configuration: Appveyor uses a YAML configuration file for defining build and deployment pipelines, making it easier to manage and maintain configurations. On the other hand, Jenkins X uses a GitOps approach and stores pipeline configurations directly in the version control system, promoting better traceability and reproducibility of pipelines.
Scalability: Jenkins X offers better scalability for complex and large projects due to its native integration with Kubernetes, allowing for dynamic provisioning of resources and easy scalability of build agents. In comparison, Appveyor may face limitations in handling large-scale projects efficiently.
Plugin Ecosystem: Appveyor has a rich ecosystem of plugins and integrations that can be easily added to extend its functionality, providing flexibility to customize CI/CD processes. Jenkins X also supports plugins and extensions, but its focus on cloud-native applications may limit the availability of some traditional CI/CD plugins.
Community Support: Jenkins X benefits from a larger open-source community and a more active development community, leading to faster updates, bug fixes, and new features. Appveyor, while widely used, may have a smaller community base, resulting in potentially slower responses to issues and feature requests.
In Summary, Appveyor and Jenkins X differ in their deployment model, user interface, pipeline configuration approach, scalability, plugin ecosystem, and community support levels.
We are a mid-size startup running Scala apps. Moving from Jenkins/EC2 to Spinnaker/EKS and looking for a tool to cover our CI/CD needs. Our code lives on GitHub, artifacts in nexus, images in ECR.
Drone is out, GitHub actions are being considered along with Circle CI and GitLab CI.
We primarily need:
- Fast SBT builds (caching)
- Low maintenance overhead (ideally serverless)
- Everything as code
- Ease of use
I think I've tried most of the CI tools out there at some point. It took me a while to get around to Buildkite because at first I didn't see much point given it seemed like you had to run the agent yourself. Eventually it dawned on me why this approach was more ingenious than I realised:
Running my app in a production (or production-like) environment was already a solved problem, because everything was already in some form of "everything as code". Having a test environment where the only difference was adding the Buildkite agent was a trivial addition.
It means that dev/test/prod parity is simple to achieve and maintain. It's also proven to be much easier to support than trying to deal with the problems that come with trying to force an app to fit into the nuances and constraints that are imposed by the containers/runtime of a CI service. When you completely control all of the environment the tests are running in you define those constraints too. It's been a great balance between a managed service and the flexibility of running it yourself.
And while none of my needs have hit the scale of Shopify (I saw one of their engineers speak about it at a conference once, I can't find the video now though ๐) it's good to know I can scale out my worker nodes to hundreds of thousands of workers to reduce the time it takes for my tests to run.
I would recommend you to consider the JFrog Platform that includes JFrog Pipelines - it will allow you to manage the full artifact life cycle for your sbt, docker and other technologies, and automate all of your CI and CD using cloud native declarative yaml pipelines. Will integrate smoothly with all your other toolset.
more configurable to setup ci/cd: * It can provide caching when build sbt, just add this section to yml file * Easy to use, many documentation
Weakness: * Need use gitlab as repository to bring more powerful configuration
Pros of Appveyor
- Github integration20
- Simple, reliable & powerful18
- Hosted12
- YML-based configuration11
- Nuget support10
- Windows support6
- Free for open source4
- Automatic deployment4
- Great product, responsive people, free for open-source3
- Easy PowerShell support2
- Easy handling of secret keys2
- Remote Desktop into Build Worker1
- Advanced build workers available1
Pros of Jenkins X
- Kubernetes integration7
- Scripted Pipelines5
- GitOps4
Sign up to add or upvote prosMake informed product decisions
Cons of Appveyor
- Complex user interface1
- Poor documentation1
Cons of Jenkins X
- Complexity1