Need advice about which tool to choose?Ask the StackShare community!
Heroku CI vs Jenkins X: What are the differences?
# Key Differences between Heroku CI and Jenkins X
<Provide a brief introduction here>
1. **Execution Environment**: Heroku CI runs tests in a disposable test environment while Jenkins X creates a Kubernetes pod for each test run, giving more flexibility in managing dependencies and configurations.
2. **Integration with Git Repositories**: Heroku CI is tightly integrated with Heroku pipelines and Git repositories, while Jenkins X offers support for multiple source code management systems like GitHub, Bitbucket, and GitLab, enabling more versatile usage.
3. **Pipeline Automation**: Heroku CI focuses on simplifying the CI/CD process by automating builds and deployments, whereas Jenkins X provides more advanced pipeline automation capabilities with support for custom workflows and plugins.
4. **Scalability**: Jenkins X is designed to handle larger and more complex projects with built-in scalability features for distributed builds and deployments, while Heroku CI may have limitations in scaling for enterprise-level applications.
5. **Community Support**: Jenkins X has a dedicated and active open-source community that regularly contributes to its development and provides support, while Heroku CI's support mainly comes from the Heroku platform team.
6. **Container Orchestration**: Jenkins X is specifically designed for managing containerized applications and supports container orchestration platforms like Kubernetes, whereas Heroku CI is more focused on managing applications deployed on the Heroku platform.
In Summary, Heroku CI and Jenkins X differ in their execution environments, integration with Git repositories, pipeline automation, scalability, community support, and container orchestration abilities.
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 Heroku CI
- No waiting in the queue3
- Best in class pipeline integration1
- Consolidated Heroku billing1
Pros of Jenkins X
- Kubernetes integration7
- Scripted Pipelines5
- GitOps4
Sign up to add or upvote prosMake informed product decisions
Cons of Heroku CI
Cons of Jenkins X
- Complexity1