Need advice about which tool to choose?Ask the StackShare community!
Concourse vs GoCD: What are the differences?
Introduction
In this comparison, we will explore and highlight the key differences between Concourse and GoCD, two popular continuous integration and continuous delivery tools.
Architecture: Concourse uses containers to isolate builds, ensuring each job runs in a clean environment without dependencies on the host system. On the other hand, GoCD follows a traditional agent-based model where agents are responsible for running build jobs and communicating with the server. This difference in architecture affects how each tool handles scalability and resource isolation.
Pipeline Configuration: Concourse uses a declarative pipeline configuration approach, where pipelines are defined using a version-controlled YAML file, promoting a "pipeline as code" paradigm. In contrast, GoCD employs a graphical user interface to define pipelines, making it easier for teams who prefer a visual representation of their pipelines. This divergence in pipeline configuration methods can influence the ease of pipeline maintenance and collaboration within the team.
Plugin Ecosystem: GoCD offers a comprehensive set of plugins to extend its functionality and integrate with various tools and technologies, providing flexibility and customization options. Concourse, on the other hand, has a more limited plugin ecosystem but compensates with a strong focus on containerization, making it well-suited for cloud-native applications. Understanding the available plugins and integrations for each tool is crucial when considering compatibility with existing systems and future scalability.
Scalability and Performance: Concourse is designed with scalability in mind, allowing for horizontal scaling by adding more worker nodes to handle increased workload efficiently. GoCD also supports scalability but may require additional configuration and optimization to achieve optimal performance for larger deployments. Assessing the scalability and performance requirements of your CI/CD process is essential to choose the tool that best fits your needs.
Community Support and Documentation: GoCD has a robust community and extensive documentation, making it easier for users to troubleshoot issues, access resources, and contribute to the tool's development. Concourse, while having an active community, may have more limited official documentation, requiring users to rely on community resources for support and guidance. The availability of community support and documentation can impact the learning curve and long-term maintenance of the CI/CD tool.
User Interface and User Experience: Concourse offers a clean and minimalist web interface, focusing on simplicity and ease of use, which can be appealing for users looking for a straightforward CI/CD tool. In contrast, GoCD provides a feature-rich interface with advanced visualization capabilities, allowing for detailed pipeline monitoring and analysis. The choice between a minimalistic interface and a feature-packed UI depends on the team's preferences and requirements for monitoring and managing pipelines efficiently.
In Summary, understanding the architectural differences, pipeline configuration approaches, plugin ecosystems, scalability, community support, and user interface distinctions between Concourse and GoCD is crucial to selecting the right CI/CD tool for your development workflow.
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.
I'm planning to setup complete CD-CD setup for spark and python application which we are going to deploy in aws lambda and EMR Cluster. Which tool would be best one to choose. Since my company is trying to adopt to concourse i would like to understand what are the lack of capabilities concourse have . Thanks in advance !
I would definetly recommend Concourse to you, as it is one of the most advanced modern methods of making CI/CD while Jenkins is an old monolithic dinosaur. Concourse itself is cloudnative and containerbased which helps you to build simple, high-performance and scalable CI/CD pipelines. In my opinion, the only lack of skills you have with Concourse is your own knowledge of how to build pipelines and automate things. Technincally there is no lack, i would even say you can extend it way more easily. But as a Con it is more easy to interact with Jenkins if you are only used to UIs. Concourse needs someone which is capable of using CLIs.
Pros of Concourse
- Real pipelines16
- Containerised builds10
- Flexible engine9
- Fast6
- Open source4
- No Snowflakes3
- Simple configuration management3
- You have to do everything2
- Fancy Visualization1
Pros of GoCD
- Open source31
- Pipeline dependencies27
- Pipeline structures25
- Can run jobs in parallel22
- Very flexible20
- Plugin architecture15
- Environments can keep config secure13
- Great UI12
- Good user roles and permissions10
- Supports many material dependencies9
- Fan-in, Fan-out7
- Designed for cd not just ci6
- Empowers product people to make delivery decisions4
- Flexible & easy deployment2
- Pass around artifacts2
- Build once1
Sign up to add or upvote prosMake informed product decisions
Cons of Concourse
- Fail forward instead of rollback pattern2
Cons of GoCD
- Lack of plugins2
- Horrible ui2
- No support1