Need advice about which tool to choose?Ask the StackShare community!
Go.CD vs Jenkins X: What are the differences?
Ease of Use: Go.CD focuses on providing a more user-friendly experience with a simplified interface and streamlined workflows, making it easier for teams to adopt and use the tool efficiently. On the other hand, Jenkins X offers more automated features and tools that cater to the needs of organizations looking for a higher level of automation in their CI/CD processes.
Native Kubernetes Support: Jenkins X is specifically designed to support Kubernetes-native applications, offering seamless integration with Kubernetes clusters and providing advanced features like automated deployment strategies and dynamic environment provisioning. In contrast, Go.CD can also work with Kubernetes but may require additional configurations and dependencies to achieve similar functionality.
Opinionated Workflows: Jenkins X promotes a set of best practices and predefined workflows that aim to enhance developer productivity and streamline the development process. These opinionated workflows come with pre-configured settings and defaults to help teams get started quickly, while Go.CD offers more flexibility in customizing workflows according to specific project requirements and coding practices.
Community Support and Extensibility: Jenkins X has a larger and more active community of users and contributors, offering extensive documentation, plugins, and integrations that enhance the tool's functionality and support various use cases. Go.CD, while having its own community, may not have the same level of diversity and scalability in terms of community-driven support and extensibility.
Cloud-Native Approach: Jenkins X is built with a cloud-native mindset, leveraging containerization, microservices architecture, and GitOps principles to deliver a scalable and resilient CI/CD platform for cloud-native applications. On the other hand, Go.CD can also support cloud-native workflows but may require additional configurations or tools to align with modern cloud-native practices and architectures.
Continuous Verification and Feedback Loops: Jenkins X emphasizes continuous verification and feedback loops by integrating testing, monitoring, and feedback mechanisms throughout the CI/CD pipeline to ensure the quality and reliability of applications at every stage. Go.CD also supports these practices but may not offer the same level of built-in capabilities or integrations for continuous feedback mechanisms as Jenkins X.
In Summary, Go.CD and Jenkins X differ in their ease of use, native Kubernetes support, opinionated workflows, community support and extensibility, cloud-native approach, and emphasis on continuous verification and feedback loops.
I'm open to anything. just want something that break less and doesn't need me to pay for it, and can be hosted on Docker. our scripting language is powershell core. so it's better to support it. also we are building dotnet core in our pipeline, so if they have anything related that helps with the CI would be nice.
Google cloud build can help you. It is hosted on cloud and also provide reasonable free quota.
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 Jenkins X
- Kubernetes integration7
- Scripted Pipelines5
- GitOps4
Cons of Jenkins X
- Complexity1